よろずやIT
プログラミング

フレームワークは「流行っているから」で選ばない|小さく始めて移行する判断基準

執筆・監修:よろずやIT編集部|編集方針を見る

結論:まずここだけ読めばOK

詳しい手順・原因は、この下で解説しています。

フレームワークとライブラリの違いを示す図

「流行っているから」で選んで、遅くなった

技術を選ぶ時、「今、一番流行っているから」という理由で、フレームワークを選んだことがあります。人気があるものなら間違いないだろう、情報も多いだろう、という期待でした。

ところが、実際に使い始めると、次の問題が出てきました。

結果として、開発のスピードは、むしろ落ちました。

うまくいった進め方:小さく始めて、必要になったら移行する

反対に、うまくいったのが、次の進め方です。

  1. まずは、小さく、ライブラリで組む
  2. 規模が大きくなり、フレームワークの助けが必要だと実感してから、移行を考える

必要性を実感してから移行すると、「なぜこのフレームワークが必要なのか」が、体で分かります。そのため、選ぶ基準もはっきりします。

ライブラリとフレームワークの違いは、「自分から呼び出して使う部品」か、「決められた枠組みの中で書く」かです。詳しくは、フレームワークとライブラリの違いをご覧ください。

選ぶ前に確認したい5つの観点

「流行っているか」ではなく、次の5つの観点で、自分の状況に合うかを確認します。

観点 確認すること
① 規模と期間 作るものの規模に対して、大がかりすぎないか。短期間で終わる案件に、重い仕組みを持ち込んでいないか
② 運用できる人 完成後に、運用・改修できる人がいるか。担当者が変わっても続けられるか
③ 学習コスト 習得に必要な時間を、スケジュールに組み込めるか。教材や情報は十分にあるか
④ 自由度 将来の要望(細かいカスタマイズ)に、対応できるか
⑤ やめやすさ 別のものに移行したくなった時に、どれくらい大変か

特に重視しているのが、②の運用です。技術選定では、「最新かどうか」より、「5年後も運用できるか」を見るようにしています。

状況別:こう考える

状況 考え方の例
個人で、小さなものを作る まずは、ライブラリで十分。必要になったら、機能を足していく
短期間で、画面数が多いものを作る フレームワークの助けが、大きな効果を出しやすい
チームに、すでに使える人がいる その経験を活かせるものを、優先して検討する
数年にわたって運用する業務システム 情報が豊富で、長く保守されているかを重視する
学習が目的 最新のものより、教材が多く、挫折しにくいものを選ぶ

小さく始めて移行する3つの段階

「小さく始めて、必要になったら移行する」を、具体的な段階で示します。

段階 状態 やること
① 試作 作りたいものが、本当に必要かを確かめる段階 最小限のライブラリや、シンプルな構成で作る。作り込まない
② 拡大 使う人や機能が増え、困りごとが出てきた段階 「何に困っているか」を書き出し、その問題を解決してくれるフレームワークがあるかを調べる
③ 移行 困りごとが、はっきり見えた段階 一度にすべてを移さず、影響の小さい部分から、少しずつ入れ替える

②の「何に困っているかを書き出す」ことが、一番大事です。困りごとが具体的であるほど、必要な機能が絞られ、選ぶべきフレームワークも、自然に絞り込まれます。

選ぶ前に、チームで話し合う5つの質問

導入を決める前に、次の質問に、全員で答えてみてください。答えが曖昧なままなら、まだ決めるのは早いサインです。

  1. このフレームワークで、解決したい問題は何か(「流行っているから」以外で答えられるか)
  2. 使わなかった場合に、どんな困りごとが起きるか
  3. 学習に必要な時間を、誰が、いつまでに確保するのか
  4. 半年後・5年後に、誰が運用・改修するのか
  5. 合わなかった時に、やめる方法はあるか

この5つの質問は、フレームワークに限らず、どんな技術を導入する場面にも使えます。**「新しいから」ではなく、「自分たちの問題を解決するから」**選ぶ。この姿勢が、後悔の少ない技術選定につながります。

同じ考え方は、他の技術選定にも使える

同じ失敗は、フレームワークだけではありません。たとえば、**コンテナとVM(仮想マシン)**の選択でも、「新しいからコンテナにする」という判断は危険です。

こうした場合は、VMを使い続けるほうが、現実的な選択になることもあります。違いについては、コンテナとVMの違いで解説しています。「新しいかどうか」ではなく、自分たちが責任を持って運用し続けられるかが、判断の軸です。

移行しやすく作っておく工夫

小さく始める場合でも、将来の移行に備えて、次の点を意識しておくと、後が楽になります。

「なぜこれを選んだか」の記録は、後任の人にとって、非常に価値があります。選んだ理由が分からないシステムは、変更するのが怖くなり、技術的負債になりやすいからです。

AI時代の技術選定

AIにコードを書いてもらう場面が増え、技術選定の観点も少し変わっています。

AIが書いたコードの確認方法は、AIが書いたコードをそのまま使ってはいけない理由で整理しています。

迷った時に立ち返る一言

迷った時は、「この選択を、半年後の自分や後任の人に、納得のいく言葉で説明できるか」を考えてみてください。「みんな使っているから」ではなく、「この問題を解決するために、この条件で選んだ」と説明できる選択は、後から見直す時にも、判断の拠り所になります。

まとめ

関連記事:ストラングラーパターンとは

PR【中古】ちょうぜつソフトウェア設計入門 / 田中ひさてる (単行本)

【中古】ちょうぜつソフトウェア設計入門 / 田中ひさてる (単行本)

¥1,280

楽天で見る
SHAREXLINEはてブ

よくある質問

Q.プログラミング初心者は、最初からフレームワークを学ぶべきですか?

A.必須ではありません。基本的な仕組み(HTML・CSS・JavaScriptなど)を先に触っておくと、フレームワークが何を助けてくれているのかが分かり、理解が早くなります。目的が決まっているなら、そのために使われているフレームワークから学ぶのも一つの方法です。

Q.ReactとVueなど、どのフレームワークが一番よいですか?

A.どれが優れているかは、目的・チームの経験・求められる規模によって変わり、一つの正解はありません。この記事で挙げた5つの観点で、自分の状況に合うものを選んでください。周りに使える人がいるか、情報や教材が豊富かも、現実的な判断材料になります。

Q.一度選んだフレームワークを、後から変えることはできますか?

A.できますが、規模が大きくなるほど、コストがかかります。画面・処理の中身・データの扱いを分けて作っておくと、後から入れ替えやすくなります。最初から大がかりにせず、小さく始めて、移行しやすい形を保っておくことが、現実的な備えになります。

関連記事

プログラミング用語解説

ライブラリとは?プログラミングにおける「便利な部品集」を解説

ライブラリとは、プログラムでよく使う機能を、部品としてまとめたものです。使う理由、読み込み方、選ぶ時の確認ポイント、フレームワークとの違いを、工具箱にたとえて解説します。

プログラミング用語解説

モノリシックとは?意味・メリット・マイクロサービスとの違い

「モノリシック」とは、1つの大きな塊で作るシステムの作り方です。マイクロサービスとの違い、それぞれのメリット・デメリット、選ぶ時の判断基準と、古いシステムを段階的に移行するストラングラーパターンまで、やさしく解説します。

プログラミング用語解説

REST APIとGraphQLの違い|メリット・デメリットと選び方

REST APIとGraphQLの違いを、レストランの注文に例えて解説。メリット・デメリットの比較表と、どちらを選ぶかの判断基準もまとめました。

プログラミング困りごと解決

APIをループで呼ぶ時の3つの約束|間隔・上限・再試行でアクセス制限を防ぐ

APIをループ処理で何度も呼ぶと、短時間にリクエストが集中して、相手のサービスからアクセス制限を受けることがあります。待ち時間を入れる、件数の上限を決める、失敗時に間隔をあけて再試行する、の3つの約束と、サンプルコードを紹介します。

最新のIT関連書籍 トップ10

PR / 楽天市場の売れ筋ランキングを定期的に取得しています。価格は変動する場合があるため、購入前に各ストアでご確認ください。