【ふれーむわーく】

フレームワーク とは?

最終更新:
💡 共通機能と作り方の枠組みで、アプリ開発を支える

アプリケーション開発の骨組み・枠組みを提供するソフトウェア。設計の雛形と共通機能を提供し、開発者はその上で機能を実装する。

📌 このページのポイント
共通機能と、アプリ固有の処理フレームワークURL振り分け画面の共通機能リクエスト{ }アプリ固有の処理開発者が実装枠組みから、自分の処理が呼ばれる
DjangoのURLとビューの仕組みを基にした模式図。用意される機能は製品によって異なり、設定や動作確認も必要。
ひよこ ひよこ
フレームワークってどういうもの?
ペンギン先生 ペンギン先生
アプリの骨組みや共通機能を提供するソフトウェアだよ。たとえばDjangoには、URLに応じて処理を振り分ける仕組みや、データベース連携、画面を作るテンプレートなどがある。開発者は固有の処理を組み込み、必要な設定や動作確認も行うんだ。
ひよこ ひよこ
ライブラリとどう違うの?
ペンギン先生 ペンギン先生
よく挙げられる違いは、処理の流れを誰が主導するかだよ。ライブラリは自分のコードから呼び出して使う形が基本。フレームワークでは、用意された流れの中で登録した処理が呼ばれる。DjangoがURLに対応するビューを呼ぶのが例だね。この考え方を制御の逆転と呼ぶよ。
ひよこ ひよこ
どれも同じ種類のアプリを作るもの?
ペンギン先生 ペンギン先生
用途が違うよ。DjangoはPythonでWebアプリを作るためのもの。FlutterはDartで書くフレームワークを含み、複数の環境に向けたUIを作るための仕組みだ。言語とフレームワークは別なので、使う言語に加え、作りたい機能や対応する環境を確かめよう。
ひよこ ひよこ
枠組みがあれば、仕組みを知らなくても作れる?
ペンギン先生 ペンギン先生
用意された機能で書く量を減らせても、使い方を覚える必要はあるよ。たとえばDjangoなら、URLの設定からビューが呼ばれ、応答を返す流れを理解すると、どこに自分の処理を書くか分かる。何を任せ、何を実装するかを公式の入門資料で確認しよう。
ひよこ ひよこ
一度作れば、ずっと同じまま使える?
ペンギン先生 ペンギン先生
更新やサポートの確認が必要だよ。たとえばDjangoには修正リリースや長期サポート版があり、非推奨になった機能が後の版で削除される方針もある。利用中の版のサポート期間や変更点を読み、移行が必要なコードを直して動作確認することになるんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「フレームワーク」って出てきたら「共通機能と作り方の枠組みを提供する開発の土台」と思えればだいたいOK!
📖 おまけ:英語の意味
「Framework」 = 枠組み・骨格
💬 frameworkは枠組みや骨格という意味だよ。ソフトウェアでは、アプリの構成や共通機能を支える土台を表す。用意される機能や従うルールは、製品によって違うんだ。

参考資料

← 用語集にもどる