なぜ先に軸を決めるのか
フレームワーク比較は、軸を決めずに始めると「なんとなく好きな方」に流れます。中級者ほど特定技術への慣れがあるため、無自覚なバイアスがかかりやすい。 そこで先に 評価軸を言語化 し、各候補を同じものさしで測ります。これにより、後で「なぜこれを選んだか」を説明できる選定になります。
💡 軸は「新規」と「移行」で共通に使える
本シリーズは新規構築と Struts からの移行の両方を扱いますが、評価軸は共通です。違うのは 各軸の重み だけ。移行案件では「移行コスト」の比重が跳ね上がる、といった具合に調整します。
8つの評価軸
本シリーズで用いる評価軸は次の8つです。
| # | 評価軸 | 見るポイント |
|---|---|---|
| 1 | 開発生産性 | 定型作業の自動化、設定の少なさ、scaffolding、開発時のホットリロードなど。最初の一歩から本番までの速さ。 |
| 2 | 保守性・テスタビリティ | DI による疎結合、ユニットテストの書きやすさ、コードの見通し。長期運用で効いてくる。 |
| 3 | エコシステム/ライブラリ | 認証・DBアクセス・バッチ・メッセージングなど、周辺機能を公式・準公式で賄えるか。 |
| 4 | 学習・チーム習熟コスト | ドキュメントの質、日本語情報、チームが立ち上がるまでの時間。中級者の再学習負荷。 |
| 5 | LTS・セキュリティ更新の継続性 | サポート期間の明確さ、脆弱性対応の速さ。EOLは選定の足切り条件になりうる。 |
| 6 | 移行コスト | 既存資産(特に Struts)からの移行しやすさ。共存可否、段階移行の現実性。 |
| 7 | 人材確保・採用 | 求人市場での需要、経験者の母数。チームの増員・引き継ぎのしやすさ。 |
| 8 | 開発の活発さ | リリース頻度、コミュニティの勢い、将来性。停滞は将来の負債に直結する。 |
⚠️ 「速さ」だけで選ばない
ベンチマークの起動速度やスループットは魅力的に見えますが、フルスタックの業務システムでは 保守性・人材確保・サポート継続性 の方が長期コストに効くことが多いです。性能要件が本当に厳しい場合に限り、軸1・8の比重を上げてください。
軸の重みは文脈で変わる
同じ8軸でも、プロジェクトの性質によって優先順位は変わります。典型例を示します。
| 文脈 | 重みが上がる軸 |
|---|---|
| 新規・スピード重視(社内ツール、MVP) | ① 開発生産性 / ④ 習熟コスト |
| 大規模・長期運用(基幹系) | ② 保守性 / ③ エコシステム / ⑤ サポート継続性 / ⑦ 人材確保 |
| Struts レガシーの刷新 | ⑥ 移行コスト / ⑤ サポート継続性 / ⑦ 人材確保 |
| 性能・リソース制約が厳しい | ① 開発生産性(起動・メモリ)/ ⑧ 開発の活発さ |
✅ 次の章では…
PART 04 で、この8軸で測る対象=新世代フレームワークの選択肢を紹介します。Spring Boot を本命に、Quarkus / Micronaut / Jakarta EE(JSF)を中級者目線で整理します。