主要なウェブフレームワークのFacadeについて調査した(2019/4/17日時点)。
React.js
Reactバージョン | Scalaバージョン | ライブラリ名 | スター数 | 最終更新日時 | タグ形式 | ReactRouterサポート | Reduxサポート | 備考 |
---|---|---|---|---|---|---|---|---|
16.6+ | 2.12,2.11 | japgolly/scalajs-react | 1196 | 1時間前 | Scalatags形式 | Scala.js独自実装 | サポートなし | |
16.8.1 | 2.12 | shadaj/slinky | 276 | 4日前 | case class | なし | なし | japgolly/scalajs-reactに依存, ReactNative対応 |
16.8.1+ | 2.12 | aappddeevv/scalajs-reaction | 17 | 25日前 | case class | あり | あり | |
15.5.3 | 2.12 | shogowada/scalajs-reactjs | 23 | 2017/5 | Scalatags形式 | あり | あり | |
0.11.0 | 2.11 | xored/scala-js-react | 133 | 2015/2 | scalax | なし | なし |
- Reactコンポーネント関連
所感
- aappddeevv/scalajs-reactionもreact-router,redux対応しているので魅力的だが、スターと更新頻度的にjapgolly/scalajs-reactが安心
- japgolly/scalajs-reactのルーターは独自実装だが使えれば問題ない。Redux部分もScala.jsで関数型プログラミングすればなくても問題なさそう
Vue.js
Vueバージョン | Scalaバージョン | ライブラリ名 | スター数 | 最終更新日時 | Vue Routerサポート | Vuexサポート | 備考 |
---|---|---|---|---|---|---|---|
2.x | 2.11,2.12 | random-scalor/scala-js-vue | 3 | 2018/2 | あり | あり | |
2.x | 2.12 | massung/scala-js-vue | 12 | 2017/11 | なし | なし | |
2.x | 2.11 | fancellu/scalajs-vue | 76 | 2017/5 | なし | なし |
所感
- とはいえどれも古くなってきている…。
- まともに使えそうなものはrandom-scalor/scala-js-vue
Angular
- 最新のAngularを使えるFacadeを見つけることができなかった…。
まとめ
Scala.jsでウェブアプリケーションを作るならscalajs-react
一択…。他は自分でがっつりコントリビュートする気がないと、いろいろ大変そうです。
ということで、サンプルプロジェクトを二種類用意したので、興味があれば確認してみてください。
https://github.com/j5ik2o/scalajs-react-webpack4-example https://github.com/j5ik2o/scalajs-vuejs-webpack4-example