【ふれーむわーく】

フレームワーク とは?

💡 アプリ開発の「骨組みとルール」を提供する土台、乗っかって作るだけ
📌 このページのポイント
フレームワーク:骨組みを提供し、開発者がロジックを埋める フレームワーク(骨組み) ルーティング 認証機能 データベース接続 開発者が書くコード ビジネスロジック 画面の表示内容 開発者が書くコード API処理 独自の機能 ゼロから全部作る → 大変 フレームワーク利用 → 効率的
フレームワークの役割イメージ
ひよこ ひよこ

フレームワークってどういうもの?

ペンギン先生 ペンギン先生

アプリの「骨格」を提供してくれるものだよ。例えばDjangoPython)なら、ルーティング・DB接続・テンプレートエンジン・管理画面が最初から用意されている。開発者はビジネスロジックだけ書けばいい。

ひよこ ひよこ

ライブラリとどう違うの?

ペンギン先生 ペンギン先生

制御の方向が逆。ライブラリは「あなたのコードがライブラリを呼ぶ」、フレームワークは「フレームワークがあなたのコードを呼ぶ」。Djangoで言えば、URLにアクセスされたときにDjangoがあなたのビュー関数を呼ぶ。

ひよこ ひよこ

どのフレームワークを使えばいいの?

ペンギン先生 ペンギン先生

用途と言語によって選ぶ。Web開発ならPythonDjango/FlaskRuby→Rails、JavaScriptNext.js/Nuxt.js。このサイトもAstroというフレームワークで作られているよ。最初は入門リソースが多いものを選ぶのがおすすめ。

ひよこ ひよこ

フレームワークの学習コストって高くない?

ペンギン先生 ペンギン先生

最初は高いけど、一度覚えれば同じパターンで高速に開発できるようになるよ。重要なのは「フレームワークの裏側で何が起きているか」を理解すること。ブラックボックスのまま使っているとトラブル時に対処できなくなる。

ひよこ ひよこ

フレームワークが古くなったらどうするの?

ペンギン先生 ペンギン先生

フレームワークの選定は技術的負債に直結するから重要だよ。AngularJSからAngularへの移行のように、メジャーバージョンアップで互換性が壊れるケースもある。選ぶときはコミュニティの活発さ、メンテナンスの継続性、企業のバックアップの有無を確認するのが大事。一番怖いのは「開発者が1人で維持しているフレームワーク」に依存することだね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
フレームワークって出てきたら「アプリ開発の骨組みを提供するソフトウェア、その上に乗って機能を実装する」と思えばOK!
📖 おまけ:英語の意味
「Framework」 = 枠組み・骨格
💬 建築の「骨格構造(framework)」から。アプリの土台となる枠組みを提供し、その上に機能を積み上げる
← 用語集にもどる