フレームワーク

言語の上で「決まった作り方」を提供するライブラリのまとまり

自分で書くコードの土台。動かす場所・データベース・認証は自分で用意する。

いつこの種別を選ぶか

言語を決めたあと、「画面を作る」「API を作る」「データを集計する」のどれかで選ぶ。同じ目的に複数あるときは、学習資料の量と、動かせる場所の広さで決める

他の種別との関係

種別 どういう関係か
言語 必ずどれかの言語に属する。React は TypeScript、FastAPI と pandas は Python
ツール フレームワークで書いたものを、ツール(データベース、コンテナ)と組み合わせて動かす
マネージドサービス フレームワークで書いたコードを載せる場所として、マネージドサービスを借りる。逆に、フレームワークで自分で書く代わりに、同じ役割のサービスを借りる選択もある
言語 (から見ると) フレームワークは言語の上に載る。言語を決めると、使えるフレームワークの範囲が決まる
実行環境 (から見ると) フレームワークは特定の実行環境を前提にしていることが多い。Next.js は Node.js、Hono は複数の実行環境で動く
ツール (から見ると) フレームワークで書いたコードと組み合わせて動かす。データベース、コンテナ、バージョン管理
マネージドサービス (から見ると) フレームワークで書いたコードを載せる場所になる。または、フレームワークで自分で書く代わりに丸ごと借りる(BaaS)

この種別を理解する

「決まった作り方」があると速い。 画面の部品をどう組むか、API の窓口をどう書くか。毎回ゼロから決めるのではなく、フレームワークが用意した型に沿って書く。学ぶ量は増えるが、書く量は減り、他人のコードも読めるようになる。

ライブラリとフレームワークの違い。 ライブラリは「呼び出して使う道具」(pandas で集計する)、フレームワークは「その中に自分のコードを置く枠組み」(React の部品として画面を書く)。境界は曖昧なので、このサイトではまとめて「フレームワーク」の種別にしている。

動かす場所は付いてこない。 フレームワークはコードの書き方を決めるだけで、それを動かすサーバー、データを置くデータベース、ログインの仕組みは別に用意する。ここが「マネージドサービス」との最大の違いで、Supabase のようなサービスはそれらをまとめて貸してくれる代わりに、自由度とプランの上限が付く。

次に読む種別。 組み合わせて使う「ツール」、載せる場所や代替になる「マネージドサービス」。

この種別のツール(8件)

分野ごとに並べている。「主要制約」は各ツールで最も先に当たる限界。

画面・フロントエンド 利用者が見て、触る画面をつくる。ブラウザの中で動く部分

ツール 学習 料金 成熟 主要制約 検証
Astro
既定でJavaScriptを出さない静的サイト生成器。必要な部分だけ島として動かす
無料 安定 島(Island)の間の状態共有: 部分ハイドレーションされた島の間では React Context 等のコンテキストラッパーが使えない。共有には Nano Stores(1 KB 未満、依存なし)のような外部ストアが推奨される
React
コンポーネントと状態でUIを組む、ブラウザ画面向けのJavaScriptライブラリ
無料 安定 フック呼び出しの制約(Rules of Hooks): フックは関数コンポーネントかカスタムフックの最上位でのみ呼べる。条件分岐・ループ・早期 return の後・イベントハンドラ・try/catch・useMemo や useEffect に渡す関数の中・クラスコンポーネントでは呼べない
SvelteKit
Svelteでルーティング・サーバー処理・静的出力までを完結させるフレームワーク
無料 安定 デプロイ先ごとのアダプタ選定: ビルド出力をデプロイ環境向けに変換する「アダプタ」の指定がsvelte.config.jsで必須。公式にNode・Cloudflare・Netlify・Vercel・静的サイト(adapter-static)向けがある
Next.js
Reactにルーティング・サーバー描画・APIを足した、Web アプリのフレームワーク
無料 安定 静的エクスポートで使えない機能: output を export にすると Cookie、Rewrites・Redirects・Headers、Proxy、ISR、既定ローダーの画像最適化、Draft Mode、Server Actions、Intercepting Routes、generateStaticParams のない動的ルートが使えない。Route Handler は GET のみ、force-static の明示が必要

サーバー・API 画面の裏側で、頼まれた処理をしてデータを返す係

ツール 学習 料金 成熟 主要制約 検証
FastAPI
型ヒントからAPI仕様と検証を自動生成する、Pythonの非同期Webフレームワーク
無料 安定 対応 Python バージョン: Python 3.10 以上(3.10〜3.14 を公式サポート)
Hono
Web標準APIのみで書かれ、エッジからNode.jsまで同一コードで動く軽量フレームワーク
無料 成長中 対応ランタイムと Node.js の要件: Node.js は 18.x なら 18.14.1 以上、19.x なら 19.7.0 以上、20.x 以上で、@hono/node-server アダプタ経由で動く。Bun・Deno は Fetch ハンドラをネイティブに実行

開発基盤・CI/CD コードの変更を、壊さずに本番へ届ける仕組み

ツール 学習 料金 成熟 主要制約 検証
Playwright
Chromium/Firefox/WebKitを1つのAPIで自動操作するE2Eテストフレームワーク
無料 安定 対応Node.jsバージョン: 最新の 22.x, 24.x, 26.x 系のいずれか

データ処理・分析 溜まったデータを集計・変換・可視化する

ツール 学習 料金 成熟 主要制約 検証
pandas
Python で表形式データをメモリ上で整形・集計・可視化する標準ライブラリ
無料 安定 メモリ内処理の前提: データセットは1台のメモリに収まる必要がある。メモリのかなりの割合を占めるデータでも、操作が中間コピーを作るため扱いにくくなる