Our great sponsors
-
scala-webapp-template
A pragmatic skeleton to build web applications in Scala/Scala.js, including user registration, login, admin portal, and, deployments
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
cazadescuentos
A platform to catch price drops while shopping online, powered by a browser extension, webapp, android app, and more
-
react-admin
A frontend Framework for building data-driven applications running on top of REST/GraphQL APIs, using TypeScript, React and Material Design
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
If anyone is familiar with JS ecosystem, there is the nx.dev monorepo managing tool which has the features I need for this project, which will be structured with a feature based folder structure.
We have been using Scala.js for at least 2 years, which has been used for writing multiple web apps and some browser extensions (we even created a template for webapps).
Scalablytyped is wonderful for the sjs ecosystem, still, it isn't perfect, for example, we have been stuck a mui 3 for a while (mui 5 is a work in progress), react-admin is another library that you can't use right away, you will likely find out more, still, for most use cases, Scalablytyped is good enough.
Slinky shines here because it is pretty similar to writing React in js, you can even export your own components to be consumed from js apps, I consider this the better alternative for onboarding js people.
I'm biased to monorepos, check the template I posted above because it does exactly that, I even have a monorepo that includes a browser extension sharing code with backend/webapp
Scalablytyped is wonderful for the sjs ecosystem, still, it isn't perfect, for example, we have been stuck a mui 3 for a while (mui 5 is a work in progress), react-admin is another library that you can't use right away, you will likely find out more, still, for most use cases, Scalablytyped is good enough.
As for bundler: you don't have to use scalajs-bundler, since this is just an sbt plugin that can read JS configs from sbt and pass them to webpack. It is also quite old and buggy. Scala.js commands such as fastLinkJS or fullLinkJS produce plain old JS, so it's possible to use any existing bundler out there to bundle your SJS code with your JS dependencies. I had no clue about JS ecosystem when I was fiddling arounf with SJS, so I found the template that provides minimal setup for SJS + snowpack: https://github.com/lolgab/scalajs-snowpack-example.
I also tried tyrian https://github.com/PurpleKingdomGames/tyrian and the examples say it uses parcel as a bundler.