フレームワーク

フレームワークとは、Webアプリケーションなどを開発するときによく使う機能をまとめて提供するソフトウェアのことです。フレームワークはプログラミング言語ごとに、いくつかの種類が提供されています。
開発の効率化
Webアプリケーションを一から開発するには、データベースの設定やユーザー操作の処理など様々なことをソースコードで記述しなければならず、多くの時間と労力を消費します。場合によっては、一つの機能を実装するだけでも数日の時間を費やしてしまうこともあります。しかし、それらのなかには一から開発しなくても、一般的な機能を応用して使えるものも多くあります。
開発者は一般的な機能を土台として、その上に個別の機能を実装することで開発効率を大きく向上させることができます。そのときに用いる土台となるものを「フレームワーク」と言います。
開発効率を上げるために土台を使うには、使用するフレームワークの学習が必要となりますが、習得後のメリットは多くあります。また、現在のWebアプリケーション開発では必ずと言っていいほど使われているものなので、学習を進めていく上では避けては通れないものです。
メンテナンス性の向上
フレームワークを使用することで開発効率が上がりますが、そのほかにもメリットはあります。その一つにメンテナンス性が向上するということが挙げられます。
フレームワークを使用する場合は、ソースコードの書き方にある程度のルールが決められています。そのため、ほかの人が書いたコードでも書き方が統一されており可読性が高くなります。また自分が書いたコードでも、書き方に統一性がなければ後から見返したときに、どこに何が書いてあるのかわからなっくなってしまうこともあります。しかし、フレームワークを使用することで、ある程度のルールが決まっているので後から確認するときにもわかりやすくなります。
代表的なフレームワーク
それぞれの言語の代表的なフレームワークを紹介します。
JavaScript
React
Meta(旧Facebook)が開発しているフレームワークで、ユーザインターフェース(UI)を構築するために使われます。
AngularJS
Googleによって開発されており、システム開発に必要な機能が集められています。
Python
Django
PythonでWebアプリケーションを開発するために必要な機能が集められていて、Pythonを使った開発では多く使用されています。
Flask
マイクロフレームワークと呼ばれており、標準で提供される機能は最小限のものに絞られています。そのため、動作は軽くなっています。
PHP
Laravel
Webアプリケーションの開発に特化していて、習得も比較的簡単であることから人気の高いフレームワークです。
CakePHP
Rubyのフレームワークである「Ruby on Rails」の影響を強く受けていて、役割分担をしながら高速で開発できることなどが特徴です。
Ruby
Ruby on Rails
現在のWebフレームワークの先駆け的存在で、Rubyの人気に大きく貢献しました。PHPの「CakePHP」や「Laravel」、Pythonの「Django」などはこのフレームワークの影響を強く受けています。