🤔VueとReactの最終検討 @20210803
-
Web Components(Web標準)の存在
-
数年経てばかなり普及した標準となるはず。
-
それでも少し冗長な手続き型の書き方なのでフレームワークはまだまだ必要
-
なのでコレの存在は理由にならない
-
CSSに対する取り扱い
-
Reactを使う場合、CSS in JS、CSS Modules、Styled-componentsが主流
-
Vueの場合、SCSSは使うがテンプレートファイル内にScopedで標準に近い形で記述することが出来る
-
(逆にScopedがなくなった場合に破綻することにかもしれない)
-
CSSは最終的にはやはりPure CSSとして扱わなければいけない
-
JSXとテンプレート
-
正直JSXの方がリッチな表現には使いやすい
-
VueもJSXのBabelプラグインが有るので普通に使えば良い
-
書き心地
-
Reactのほうが業務的なコードを書いている気分になった
-
多分コレはJSXと純粋な関数によるものだと思う
-
Vue Composition APIとJSXを使えば同じ
-
エコシステム
-
React
-
ReactのFacebookは強い
-
NextのVercelも強い(機能的に)
-
Reactのプロユースも強い(Vue→Reactは聞くが、React→Vueはあまり聞かない)
-
これもComposition APIによるTypescriptサポートで変わると思う
-
Vue
-
VueもNuxtも企業が引っ張る形じゃないOSSなのが少し心配
-
Vueは公式が周辺ライブラリのサポートをしているのが強い
-
VueもReactも近い存在になった今、ReactからVueに乗り換えるモチベーションは無いのではないか
-
FacebookのReactが廃れることは考えにくい
-
そうなるとVueは廃れていくのではないか...
-
ライフサイクル(HookとComposition API限定)
-
Vue
-
onMounted``onUnMounted``onDestory
など割とわかりやすい
-
React
-
副作用があるコードは
useEffect
で毎回レンダー時に呼ばれる
-
[]
を参照として渡すことで、mount
とunmount
時の1回ずつ呼ぶことが出来る
-
Vueの駄目なとこ
-
componentsをimportして、更に
components:{...}
で登録しないといけない
-
結局
import
,登録
,使用
の3回書くことになる→選択肢は色々ある(公式参照)
-
jsx
が標準じゃない
-
props
にrequired
が必要→Typescriptの領分
-
両方触ってみた感想
-
VueもReactも触って、正直どっちも変わらない
-
Reactの方が難しいとか言われてるけどそんなこともない
-
JSXがただ
見慣れない
だけで、HTMLと根本は変わらないので難しいわけではない
-
どちらも素晴らしいフレームワークだし、僕が両方の差異が出るレベルの使いこなしが出来るとは思えない
-
結論