仕事でVueというかNuxtを選んで使っているんですけど、なんでだっけという部分を思い出してみる
Reactも使っているので評価してどちらかを選定する話ではないです
まずLaravelで構成されたソースコードがあってここにどうやって機能を後付けするかという部分を考えた
要件として特定のUIを実現するJavaScript SDKがあったのでこの時点でSPA+APIにした
次にその時点でVueがLaravelでJSを書く時のデフォルト選択肢だったのでVueにした
SSRは不要なことが分かっていたのでvue-cliで構築して、複数画面への遷移が必要になった段階でルーターを試しNuxtへ移行した
私の中ではReactもVueも期待する同じDXを提供する高度で自作できないもの、という位置付けなので、Laravel側の選択肢に偏りがあるのならそれに従って問題ないという認識だった
仮に別のフレームワークに世間のトレンドが偏ったとしても、そこで発生するのは表面的な学習コストで、自社開発で長く維持するにはどちらも自分たちのドメインに適用した深い理解が要るはず、非主流フレームワークであっても自分がOSSコミッタの総力を上まわる生産性を出せるわけではないから乗り換える必要もない(メンテナンスが終ってたら流石に別)、という考えを持ってる
ただその時点ではVuexの文字列ハンドリングとTypeScriptが相性が良くないと感じた。
それにComposition APIの以降も見据えていたので、サードパーティのライブラリを盛らずなるべく薄くNuxtを導入した
それにLaravel技術を習得したプログラマーが新規に参加した時にVueを習得している可能性も高いと考えた
そして時間を現在にすすめてふりかえると、まずLaravelチームの選択肢がVueでなくなってAlpine.jsとかになった笑
公式リポジトリでSPA+API方式を選択したい場合のソースコードもNext.jsになってる
私たちのVueは2.xのまま維持してて3系にアップデートするかシステムの寿命を終えるかの二択になっている
新規参加メンバーは0名だった
いかがでしたか? フロントエンドの大自然は厳しい