これはなかなか難しいところですね。
いきなり質問の前提を覆すかもしれないことを先に言ってしまいますと、両方使えて規模によって使い分けるなんてことほぼないかなと私は思います。
自分はVueの方がReactより経験があり、その辛みもある程度経験しました。それをReactが解消してくれることも経験しました。
よって今後は規模に関わらずフロントはしばらくReact一択にする考えです。もちろん既存のVueから置き換えられないものはそのままですが、現在まだ継続開発中で中規模のVueで書かれているものは、Reactに完全リプレイス予定で段階的に進めています。
直近では完全小規模のほぼ静的ページをNext.js (React) でくみました。オーバースペックとかいう人もいるかもですが明らかに他の選択肢で組むより、楽にスピディーにデリバリーできましまた。
どちらも習得していない状態で、直近作成するものにどちらかを選択して、学習しながら構築するという判断に置いては、このご質問の回答は役立つかもしれません。
しかし、ご自身で少しReactやってみて、いけそうだなと思うならReactから入ることを勧めます。大は小を兼ねるので。
先に挙げたような小規模のページを作るのに、たとえばRailsを使うとかなるとアホかと言われそうですが、Next.js ではそんなこともないと思います。
話が少しそれました。
規模という言葉は範囲が広く、アクセス規模なのか取り扱うデータの規模なのか、など色々ありますが。
Vue か React かという判断に必要な規模というのは、データ規模やアプリの構造的な複雑さが判断基準になると思います。
その前提ですと、
小規模 - 単一データモデルを取り扱うコア機能およびそれに付随する2、3個程度のサブ機能のみを提供するようなアプリ、もしくは静的サイトに近いもの。
中規模 - いくつかのデータモデルを取り扱うコア機能があり、それぞれに付随するいくつかのサブ機能を提供するようなもの。
大規模 - 5から10以上のデータモデルを取り扱う複数のコア機能が複雑に関係し合い、それらに付随するサブ機能も多種多様なものが存在し、依存しあっているようなもの。
と私は考えています。
ただ、中大の判断はケースによって差が激しいです。
小〜中規模 or 大規模 ではなく、小規模 or 中〜大規模というべきかと思います。
データモデルが少なくても、その項目数が多くて複雑な機能提供があるとどっちなのかと会う話にもなりそうです。
さて、上記ではまだまだわかりにくいので、もう少しわかりやすいようにホテルの予約管理を例にとって説明してみたいと思います。
わかりやすくするためなので「それはアプリとしては成立してないだろ」って部分があっても多めに見てください。
またデータに関する部分だけ大項目てわ記載します。
データモデルがなくても複数のデータモデルを用いて新たなデータを合成する場合も含めます。
UI領域的なことは割愛します。
小規模
- 予約の情報を作成から編集、削除まで一通りできる
- 予約は名前、日時、部屋情報、連絡先など基本的なもののみ
- それらが一覧もしくは個別に表示可能
中規模
- 上記小規模の機能全て
- 予約と紐づけて部屋の空室状態を管理
- 部屋の価格設定
- 予実管理
- 顧客情報をより詳細に登録できる(好みや来訪時にあった出来事、パーソナリティなどなど)
- 顧客と予約、実績を結び付けて管理
- 予約と部屋の価格設定から会計周りの簡単な集計
大規模
- 上記中規模の内容全て
- 従業員を登録し、従業員ごとにアクセス権限コントロール
- 顧客の認証機能を設け、顧客が自分で予約が入れられたりキャンセルできる
- 顧客と予実の情報を分析し、顧客のステータスを決定
- 顧客のステータスに応じてあらかじめ設定した条件で部屋価格に割引を適応
- キャンペーンや特典を管理
- 顧客ステータスや属性に応じて、キャンペーンや特典を適応
- 各種ホテル予約ポータルサイトと連動した予約管理
- 各種ホテル予約ポータルサイトと連動した精算内容の管理
ざーっと思いつきで書いてみましたので、おかしなところがあるかもです。イメージをつかむ程度に考えてください。
一応、ここまでに回答にはなってると思います。
「じゃあなぜのこの規模の違いで、Vue か React どちらかを選択するとなるのか?」というところまで個人的には書きたいですが、疲れたので一旦ここで終わります。
また後日、そのあたり追記更新するかもです。
0 コメント:
コメントを投稿