-
Notifications
You must be signed in to change notification settings - Fork 0
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
Choose front-end tech stack #2
Comments
I think before we pick a stack, we may need to clearly define what the frontend looks like and does. Should we use this issue for that discussion or create a new one? |
@harveysanders no. here is good. |
+1 for typescript and vite though 😎 |
regarding the FE, we will be supporting large screen devices (like PCs and Laptops), I presume smaller devices are out the equation given we need an additional midi controller for interactivity with the application? If so, then I would probably opt for Preact/Svelte. Vanilla just isn't that expressive and boilerplate heavy when trying to prototype. Also regarding WASM, have we looked into the Vite plug-ins currently? how is the support for those. |
An argument is to use JS and import urls avoiding needing to have node in the project whatsoever. Given the FE is almost purely just design with not much logic, pure JS with import urls could also be an option. Con here is that importing WASM now is a bit more boilerplate than Vite |
Are we hosting the FE on a separate server or are we serving everything from within the Go application? |
I think a separate server for the client is far better than running them on the same port. I mean separate ports, not separate servers though. At least it increases the security of the whole app. |
separate ports would be separate servers though? Or do you mean we wouldn't use a different hosting site and rather host our FE files with Go (via a FileServer instance)? |
I really think we should keep this simple to start. I don't really see an issue with serving the client application from the same server. If there is a need to break out the static server from the application server in the future, we can slap Nginx or something in front as a reverse proxy and a static server. Initially though, my vote is to keep it simple. |
so if that is the case, are we using a front-end framework and compiling (presuming we want to use TypeScript) to JS/HTML? If so is there one we would want to use? I notice above people are set on TS+vite, for development. Just whether vanilla TS or a library like Preact/Solid/Svelte before we compile to static files |
I tried to build a front-end just for testing with TS and vite and it's really hard to make components and update variables dynamically. Although the only option we have is to write html as strings using innerHTML in typescript files which won't have any syntax highlighting and error checking. |
Personally I'm focused on having a CLI/TUI-client with the Bubbletea-framework. |
I would not be mad at using Elm as I have been learning quite a bit of Haskell recently. If we were to use TS, then I would probably say Svelte as that can compile to static files. |
Yeah, ELM is a bit of a stretch because there is less variety and choice than in the (HUGE) javascript-ecosystem. But that could also be considered a positive since there is maybe TOO much Javascript 😉 |
from the discussion we've made till now, turns out the vanilla TypeScript and HTML files have the upper hand over other web technologies. but we haven't still heard the opinions of all of the members about the tech stack that they are most comfortable working with.
the nature of this project forces us to be more front-end oriented and that doesn't mean we need to be more TypeScript oriented too. most likely we'll do the heavy lifting using WASM code which will be written in Golang that also has a built-in WASM compiler. for me using the vanilla TypeScript code with Vite is enough but let's hear what others think.
Share your ideas.
The text was updated successfully, but these errors were encountered: