Vue.jsかReactか
「ローカルステートを使わないならReactでいい」
SFCがVueの良いところ(Reactのようなコンポーネント設計をサボれる)というのはたしかに感じる。ただし、大きくなるならその設計から逃れることはできないとも思うkadoyau.icon
この点は上の記事で
Vueではmethods や computed の他にディレクティブもあり、普通に書いているとコンポーネントがビューとロジックが混ざってしまったり、どのコンポーネントでどんな処理をすべきかと言うことの責務を切り分けるのが悩ましく感じる場面が多かった。
少数のコンポーネントであればさほど問題は顕在化しない事に思われるが、一定の数を越えた時に無視出来ない問題になりそうで、安定させるにはどうしたらいいんだろうか?というのは悩ましく感じている。
と言わらている点と同根に思う
日本における趨勢
frontの方にきいてみた
VueはEvan Youが中国人だから(?)アジア圏が強く、とっつきやすくて日本語文献も揃っていた Shadow DOMの走りはReactなので(その時VueはWebComponentsだった)、その時ShadowDOMに向かった人はもれなくReactを使っている印象 Vueはその時既に日本語ドキュメントあったと思うけど、まだ認知度低かったの(とWebComponentsベースだったの)でReactに流れた 実際に書いてみた
最初に考えることが少ない(なんとなくつくれる)のは圧倒的にVue + Nuxt.js
ただし、Vueでも込み入ったことをやろうとするとAPIや作法がたくさんあるのではまり始める
よくわかっているメンターがいると初期開発コストは変わりそう(これはReactの場合も同じ)
Reactは「チュートリアル読み切るまで着手できない」が、Vueは「ちょっとドキュメントをつまみ食いするとなんとなく触れる(が、ハマるので結局丁寧にドキュメント読む)」という印象
現状でTypeScriptにきっちり対応しているのはReact。Vueは3系から本格対応予定
TypeScirpt、外部ライブラリの型定義があるとVSCodeやIDEで頼れるのでかなり快適。これ無しはつらい。覚えることが増えるため。
最近聞く話
例:CRAにはroutingがないが、Nuxtはディレクトリに配置するだけでルーティングまで設定される