Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Templates for non-JS languages #68

Open
bisen2 opened this issue Sep 2, 2022 · 2 comments
Open

Templates for non-JS languages #68

bisen2 opened this issue Sep 2, 2022 · 2 comments

Comments

@bisen2
Copy link

bisen2 commented Sep 2, 2022

With Fable 4 supporting more languages, I thought it would be good to start a conversation around adding templates for these languages to help users get up and running with them. I am happy to help out with this, but there seem to be some topics that need a consensus on how they should be approached, as the method used in the templates will likely become the standard method used in most projects. Ideally these approaches should be driven by the standard methods in the target languages and how Fable would fit into the target ecosystem.

Below is a list of things that are provided by existing JS templates that I think should be retained for other target languages and some potential approaches.

  • Dependency management
    • JS: Current templates use npm
    • Python: pip (built-in), pipenv, poetry
    • Rust: cargo (built-in)
  • Build/Deployment system
    • JS: Current templates use node and webpack
    • Python: poetry
    • Rust: cargo (built-in)
  • Tests
    • JS: Not present in this repo, but the Feliz template uses Fable.Mocha for tests in both .NET and JS ecosystems
    • Python: unittest (built-in), pytest, nose
    • Rust: cargo (built-in), cargo-nextest
  • Target use-case:
    • JS: current templates in this repo only targets web app development
    • Python: standard (locally interpreted), web (django/flask)
    • Rust: standard (native executables), WebAssembly (I doubt this would be a big enough use-case to justify a template given the F# -> wasm options that already exist)

This is not supposed to be the be-all and end-all of the options and decisions to be made for these templates, but more so a jumping off point to get the discussion rolling. Please comment with more things that you think should be considered for these templates or your thoughts on the options presented here!

@bisen2
Copy link
Author

bisen2 commented Sep 2, 2022

Rust likely has less to decide about since Cargo is provided with a Rust installation, is the standard tool, and does everything that the template would need.

Another question is if all of the templates should continue to live in a single repo as they should probably be distributed as different nuget packages.

@ShalokShalom
Copy link

Can you lighten me up?

(I doubt this would be a big enough use-case to justify a template given the F# -> wasm options that already exist)

So far I understand, is the only solution to get to wasm with Balero?

Isnt this quite limiting, considering it's a web framework?

Or am I missing something here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants