はじめに
現職では複数のマイクロサービスに携わっているのですが、そのうち1つのプロダクトにて、FEの技術選定について現場のエンジニアと会話する機会がありました。
彼から「Vue.jsはもういいです^-^;;」といった反応で、結果React.jsを選択することになりました。
「どういう基準で技術選定してるの?」っていうのはおいといて、チームにとってどちらを選んだら良いのかをちょっと考えてみました。
経験値
Vue.js, Nuxt.js, React.js, Next.jsをSPA, SSRで0->で開発・運用した経験があります。
各々だいたい二年ずつぐらい。
WEBの方々のご意見など
- 開発者ならReact.js, ユーザならVue.js
- Vue.jsは直感的だからいいよ
- Reactのほうが1.2倍楽しい
Google Trends
- vueが急にガクッと落ちてるのはなんなんでしょう・・
- 「検索されている=人気ではない、むしろドキュメントが曖昧で検索している人が多いんだ」なんて意見もありますよね。同感です
世間一般のWEBサイト
Vue.js
都内の最新感染動向 | 東京都 新型コロナウイルス感染症対策サイト
無料ゲーム、オンラインゲームの人気タイトル満載! - Yahoo!ゲーム
React.js
【楽天市場】Shopping is Entertainment! : インターネット最大級の通信販売、通販オンラインショッピングコミュニティ
ヤフオク! - 日本最大級のネットオークション・フリマアプリ
Yahoo!ショッピング - PayPayボーナスがもらえる!ネット通販
【公式】PayPayフリマ - ペイペイフリマ|かんたん・安心フリマアプリ
Amazon | 本, ファッション, 家電から食品まで | アマゾン
※下記で適当に調べているので、間違ってる可能性はあります
Find out what websites are built with - Wappalyzer
- ザーッと探しただけですが、Vue.jsよりもReact.jsを採用しているサイトのほうが多そうな印象でした
- ヤフー系列はReact.js優勢なのか?と思いきやVue.jsがあったり
- やっぱりVue.jsはコロナ対策サイトの印象が強いですね
感想
自分もこの方のコメントの通り「VueはeasyでReactはsimple」というのがしっくりきます。easyだからこそ取っ付き易く、コロナサイトもOSSとしてちゃんと機能し始めた(Vueだからチャレンジしてみよう、少しでも貢献したいと思えるエンジニアが出てきた)のかなと思います。
サイト規模がスケールするならReact、しないならVueでいいかなと。どちらもコンポーネントの設計を正しく行っていればスパゲッティなコードも生まれないし、テストも綿密に書けるはずです。
スケールするときを想定してatomic designに沿ってるか、とかrepository pattern採用してるか、とかstore(redux/vuex)を正しく使えているかとか、JavaScript Framework外のことのほうが大切だと思います。