プログラム

フレームワークとは

フレームワーク(framework)

フレームワークとは、「枠組み」「骨組み」「構造」を意味する言葉で、システム開発をする際の土台となる部分であり、システム開発の効率を上げるために用意されたものです。

なぜフレームワークが必要なのか?

例えば、Webアプリケーションを開発するとします。同じ言語を使用していても、フレームワークを利用しないと 開発担当者により、作り方がバラバラになる可能性があります。

また、フレームワークがないので、一から作りこむ必要があります。

フレームワークがない場合

その結果、ソースコードの書き方に統一性がなく、メンテナンス性が悪いものになってしまいます。また、一から開発するため、開発に時間かかってしまいます。

スポンサーリンク

このような問題を解決するためにフレームワークが存在しています。

フレームワークがある場合

フレームワークを使うことで、例えばWebアプリケーション開発用のフレームワークであれば、Webアプリケーション開発でよく利用する部品が始めから用意されているため、開発効率が上がります。

また、「MVCモデル」という概念のもとに作られているフレームワークが多いため、ソースコードの書き方もある程度 統一され、メンテナンス性が高くなります。

MVCモデルとは

  • M(Model):実際の処理(ビジネスロジック)
  • V(View):表示や入出力の処理(画面)
  • C(Controller):ModelとViewを繋ぐ役割

フレームワークのメリット・デメリット

フレームワークのメリットは、上記で説明した通りです。

メリット

  • ソースコードの書き方がある程度 統一される(メンテナンス性が高くなる)
  • フレームワークが基盤部分を用意してくれているので、開発時間が短縮できる

フレームワークのデメリットは、フレームワークの使い方を理解するための学習時間が必要なことです。

フレームワークが1つだけであれば、そのフレームワークを学習するだけですが、実際は、沢山のフレームワークが存在します。

使用する言語や作りたい物により、フレームワークは異なり、また時代が進むにつれ新しいフレームワークが登場したりもします。そのため、その都度フレームワークの使い方を理解する必要があります。

デメリット

  • フレームワークの使い方を理解するための学習時間が必要

フレームワークの種類

フレームワークには様々な種類があります。今回は代表的なフレームワークの一部を紹介します。

言語フレームワーク説明
JavaSpring FrameworkJavaの代表的なWeb開発用のフレームワーク。
RubyRuby on RailsRubyといえばRuby on Railsと言っても過言ではないくらい有名なWeb開発用のフレームワーク。
C#.NET Frameworkマイクロソフトが開発した様々なアプリを管理する実行環境。
PHPLaravelPHPの代表的なWeb開発用のフレームワーク。
PythonDjangoPythonの多機能万能フレームワーク。
JavaScriptVue.jsクライアントサイドのフレームワーク。

helpful