フレームワーク(framework)
フレームワークとは、「枠組み」「骨組み」「構造」を意味する言葉で、システム開発をする際の土台となる部分であり、システム開発の効率を上げるために用意されたものです。
なぜフレームワークが必要なのか?
例えば、Webアプリケーションを開発するとします。同じ言語を使用していても、フレームワークを利用しないと 開発担当者により、作り方がバラバラになる可能性があります。
また、フレームワークがないので、一から作りこむ必要があります。
その結果、ソースコードの書き方に統一性がなく、メンテナンス性が悪いものになってしまいます。また、一から開発するため、開発に時間かかってしまいます。
スポンサーリンク
このような問題を解決するためにフレームワークが存在しています。
フレームワークを使うことで、例えばWebアプリケーション開発用のフレームワークであれば、Webアプリケーション開発でよく利用する部品が始めから用意されているため、開発効率が上がります。
また、「MVCモデル」という概念のもとに作られているフレームワークが多いため、ソースコードの書き方もある程度 統一され、メンテナンス性が高くなります。
MVCモデルとは
- M(Model):実際の処理(ビジネスロジック)
- V(View):表示や入出力の処理(画面)
- C(Controller):ModelとViewを繋ぐ役割
フレームワークのメリット・デメリット
フレームワークのメリットは、上記で説明した通りです。
メリット
- ソースコードの書き方がある程度 統一される(メンテナンス性が高くなる)
- フレームワークが基盤部分を用意してくれているので、開発時間が短縮できる
フレームワークのデメリットは、フレームワークの使い方を理解するための学習時間が必要なことです。
フレームワークが1つだけであれば、そのフレームワークを学習するだけですが、実際は、沢山のフレームワークが存在します。
使用する言語や作りたい物により、フレームワークは異なり、また時代が進むにつれ新しいフレームワークが登場したりもします。そのため、その都度フレームワークの使い方を理解する必要があります。
デメリット
- フレームワークの使い方を理解するための学習時間が必要
フレームワークの種類
フレームワークには様々な種類があります。今回は代表的なフレームワークの一部を紹介します。
言語 | フレームワーク | 説明 |
Java | Spring Framework | Javaの代表的なWeb開発用のフレームワーク。 |
Ruby | Ruby on Rails | RubyといえばRuby on Railsと言っても過言ではないくらい有名なWeb開発用のフレームワーク。 |
C# | .NET Framework | マイクロソフトが開発した様々なアプリを管理する実行環境。 |
PHP | Laravel | PHPの代表的なWeb開発用のフレームワーク。 |
Python | Django | Pythonの多機能万能フレームワーク。 |
JavaScript | Vue.js | クライアントサイドのフレームワーク。 |