こんにちは!
フリーランスエンジニアのかたやまです。
今回は、IT用語のフレームワークについて解説します。
フレームワークは、開発の土台となる機能のことです。プログラミングを行う場合は、フレームワークを活用することが非常に多いです。フレームワークをしっかり理解して、開発をしなければ、フレームワークの恩恵を受け損ねることになります。
難しい用語は使わずに、簡単に解説していくので、ぜひ最後までご覧ください。
では、始めましょう!
フレームワークとは?
フレームワークは開発の土台
フレームワークを一言で表すと、「プログラミングを楽にするために用意された、プログラムのひな形」です。
フレームワークは、開発の土台として活躍します。フレームワークごとに、作り方のルールや便利な部品が用意されていて、開発のサポートを行ってくれます。
フレームワークの利用は、必須ではありません。ただし、使うと便利のため、ほとんどの開発プロジェクトで使われています。
話は変わりますが、論理的思考を勉強すると、同じように「フレームワーク」という言葉を目にすることが多くあります。例えば、ロジックツリーや3C分析、SWOT分析などがビジネスフレームワークの代表例でしょうか。このようなフレームワークも「思考することを楽にするために用意された、考え方のひな形」です。「サポートするためのひな形」という点で、プログラミングにおけるフレームワークと非常に近い考え方であることが分かります。
プログラミング言語との違い
プログラミング言語とフレームワークは、全く異なります。混乱しないために、簡単に確認しておきましょう!
基本的には、プログラミング言語とフレームワークは、「1:N」の関係になります。プログラミング言語は、その名のとおり、プログラミングを行うための言語です。そして、プログラミング言語ごとに、土台となるフレームワークがいくつかあり、プログラミング言語ごとに選ぶことができます。プログラミング言語に対して、フレームワークが無い or 1つだけ存在するということもあります。
もっとも混乱するのは、フレームワーク名だけで会話をされるときです。例えば、「Reactの開発経験ある?」と聞かれることがあります。この発言の意味を正しく分解すると、「JavaScriptというプログラミング言語のReactというフレームワークの開発経験ある?」となります。プログラミング言語とフレームワークは、「1:N」の関係であるため、プログラミング言語の説明が省略されています。
私はこれまで、上記のような会話でよく混乱していました。「プログラミング言語の話をしているのか、フレームワークの話をしているのか、全く分からない!」ということが本当によくありました(笑)
代表的なフレームワーク
プログラミング言語とフレームワークで混乱しないためにも、代表的なフレームワークだけでもざっくり見てみましょう!すべて覚える必要はありませんが、プログラミング言語名とフレームワーク名が区別できると必ず役に立ちます。
プログラミング言語 | フレームワーク |
Java | Spring Framework |
Ruby | Rails |
PHP | Laravel |
JavaScript | AngularJS |
JavaScript | Vue.js |
JavaScript | React |
CSS | Bootstrap |
Java | Spring Boot |
C# | .NET Framework |
フレームワークの特徴
ここまでで、フレームワークの概要はお分かりいただけたでしょうか?
以下では、フレームワークの特徴を2つ説明します。
1.便利な機能があらかじめ用意されている
フレームワークでは、頻繁に使用される機能は、あらかじめ用意してくれています。例えば、以下のような機能は、用意されていることが多いです。
- データベースの操作(挿入、読み込み、変更、削除)
- ファイルの読み込み
- 文字列の空白チェック
- 配列の並び替え
- トリム機能(余計な空白の削除機能)
- 文字数チェック機能
挙げればキリがないですが、上記のような機能は、部品として用意されていて、自分でプログラムを作らなくても良いことが多いです。
2.プログラミングの書き方にルールがあるため、人による差が無くなる
フレームワークは、プログラミングの書き方にルールがあります。ルールがある分、自由度は下がります。しかし、このルールのおかげで、複数人で開発を行うときは、人によるプログラムの書き方の差が少なくなります。
当然、書くだけでなく、読むときにもメリットがあります。「このプログラムはこのルールで作られている」と分かれば、途中で参加したメンバーにとっても参加の壁が下がることも魅力のひとつと言えるでしょう。
まとめ
今回の「フレームワーク」の解説は以上です。
一言でまとめると、フレームワークは「 プログラミングを楽にするために用意された、プログラムのひな形 」と理解していただければOKです。
では、また次回!