こんちには。キノコードです。
このレッスンでは、 フレームワークについて説明をします。
▼ YouTube動画はこちらからどうぞ。
フレームワークとは、WebサイトやWebサービスなどを作るときに、よく使う機能を提供するソフトウェアのことです。
アプリケーションフレームワークとも呼ばれています。
有名なフレームワークは、基本的にオープンソースです。オープンソースなので無料で使うことができます。
また、フレームワークは、プログラミング言語ごとにいくつかの種類があります。
フレームワークを使うメリット
フレームワークを使うと、開発効率が向上します。
なぜ、開発効率が向上するのでしょうか?
どのようなWebサイトやWebアプリケーションでも、似たような作りになるところがあります。
例えば、Webアプリケーションなら、データベースへのデータ登録や検索処理、ブラウザへの表示機能が必要です。
また、PCサイトをスマホ対応させる機能もよく使われます。
そういった「よくある機能」は、簡単に作れた方が便利です。
フレームワークは、そういったよく使う機能を簡単に作れるようにしたソフトウェアです。
結果として、フレームワークを使うと開発効率が上がるのです。
代表的なフレームワーク
有名なプログラミング言語ごとに、代表的なフレームワークがあります。
各言語ごとに複数のフレームワークがあるのは、それぞれ異なる特徴を持っているからです。
Java
Javaの代表的なフレームワークは「Spring Framework」「Play Framework」です。
Springは機能が豊富なフレームワークです。
使い方次第であらゆるタイプのアプリやソフトウェアを開発できます。
Play Frameworkは機能が絞られたフレームワークで、とっつきやすいことが特徴。
WebサイトやWebアプリを作ることに特化しています。
JavaScript
JavaScriptの代表的なフレームワークは「React」「jQuery」です。
jQueryはフレームワークではなく、ライブラリですが、有名なのでご紹介します。
ReactはJavaScriptでWebアプリを作る上で便利なフレームワークです。
もともとJavaScriptはWeb「サイト」を作るための言語でしたが、Reactが登場してからWeb「アプリ」が作れるようになりました。
jQueryはJavaScriptそのものを楽に使えるようにするライブラリです。
JavaScriptだけでWebサイトに動きをつけようとするとソースコードが煩雑になりやすいです。
jQueryを使うと比較的簡単にWebサイトに動きをつけられます。
Python
Pythonの代表的なフレームワークは「Django」「Flask」です。
DjangoはPythonでWebアプリを開発する上で実用的なフレームワークです。
Flaskは「マイクロフレームワーク」と呼ばれていて、インストール時の機能が最小限しかないことが特徴的です。
Flaskは、必要な機能を自分で入れる必要がありますが、その分動作の軽いフレームワークになります。
PHP
PHPの代表的なフレームワークは「Laravel」です。
Laravelは「Web職人のためのフレームワーク」と銘打っているだけあって、Web開発に特化しています。
2011年に登場してから、人気が急上昇しています。
Ruby
Rubyの代表的なフレームワークは「Ruby on Rails」です。
現在のWebフレームワークの先駆け的な存在です。
SpringやPlay Framework、Django、Laravelなど、後に生まれたフレームワークはRuby on Railsの影響を多分に受けています。