5 ms·
Are there any frameworks or bindings for ScalaJS that can utilize the full expressiveness of the language and encourage idiomatic code? Because I would love to
by udbhavs 5y ago
Are there any frameworks or bindings for ScalaJS that can utilize the full expressiveness of the language and encourage idiomatic code? Because I would love to use Scala, Kotlin or even Dart compiled to JS but while it might easy to interface with JS libraries, major frameworks like React, Vue or Svelte are written with JavaScript idioms in mind and it's much harder to wrangle with those since they usually dictate the entire architecture of your project.
I haven't looked into the options but I would love to see something that feels like it was meant for the language from the ground up. Eg. Blazor probably qualifies because it was written specifically for C#
- sp33der89 5y agoCheck out: https://laminar.dev/ https://laminar.dev/ or https://github.com/PurpleKingdomGames/tyrian https://github.com/PurpleKingdomGames/tyrian Event ho it's a React wrapper it's still a really good one: https://github.com/japgolly/scalajs-react https://github.com/japgolly/scalajs-react The downside of this approach is the ecosystem isn't that big compared to JS.
- manx 5y agoHave a look at Outwatch (https://outwatch.github.io/docs/readme.html https://outwatch.github.io/docs/readme.html), it was designed from the ground up to be used with idiomatic scala code.
- leodriesch 5y agoYou didn’t mention it specifically, but for ReasonML (which now appears to be called ReScript) there are official React bindings. https://rescript-lang.org/docs/react/latest/introduction https://rescript-lang.org/docs/react/latest/introduction
- AzzieElbab 5y agoHere is the one I have used. It is more scala centric then the rest of them https://laminar.dev/ https://laminar.dev/
- halfmatthalfcat 5y agoJapgolly has put a ton of time and care into https://github.com/japgolly/scalajs-react https://github.com/japgolly/scalajs-react which is a complete React binding in scalajs. This paired with something like Diode (https://github.com/suzaku-io/diode https://github.com/suzaku-io/diode) and you get a full frontend solution in scalajs.