【僕の学習ノート】フレームワークとライブラリーについて分かりやすく解説
こんにちは、なおやです。
今日は、Courseraというプラットフォームで、Metaの社員さんたちから授業を受けました。
そこで得た学びが、下記のツイートです。
【#今日学んだ】フレームワークとライブラリーについて
1. 毎回1から全部開発せずに誰かがあらかじめ作ったものを部分的に再利用できるようにしたもの→時間短縮
2. ライブラリー:特定の機能を兼ね備えたパーツ
3. フレームワーク:必要なライブラリーなどがあらかじめ複数集められたテンプレート— Naoya (@kaigaiblog63) October 7, 2022
今回は、これを掘り下げて解説していきます。
この記事の信憑性
この記事は、Courseの授業を受けて、学び、理解したことを基に、僕なりの言葉と解釈で分かりやすく解説しています。まあ簡単にいうと、僕が学んだことのアウトプットノートです。※ 注意:僕はまだ日々学習している段階です。解説していることに間違いがある可能性も否定できません。何か間違いを見つけて下さった方は、このWebサイトの向上のと僕の学習の為に、教えてください🙏
» Courseraという素晴らしいプラットフォームはこちら (授業は全て英語です)
【僕の学習ノート】フレームワークとライブラリーについて分かりやすく解説
今回は、フレームワークとライブラリーについて分かりやすく解説しました。
こん記事の目次
- 1. なぜフレームワークやライブラリーが必要なのか?
- 2. ライブラリー (Library) とは?
- 3. フレームワーク (Framework) とは?
- 4. フレームワークとライブラリーの違い
- 5. フレームワークとライブラリーのメリット・デメリット
なぜフレームワークやライブラリーが必要なのか?
何事も毎回1から作るのは大変で、時間がいくらあっても足りなくなります。
よく使うツールなどは特に毎回1から作らずに再利用したいですよね?
そこで、使われるのがフレームワークとライブラリーです。
これを使うことにより、プログラミングにおける開発において、汎用性の高い機能などを毎回1から作る必要がなくなり、よりオリジナリティのある部分の開発に専念できるようになります。
ライブラリー (Library) とは?
ライブラリーとは開発の際によく使われるコードの集まりのことで、デベロッパーが必要な機能のみを加えたい時に使います。
フレームワーク (Framework) とは?
フレームワークとは、開発の際によく使われるテンプレートのようなもののことで、必要な機能などがあらかじめ複数備わっています。
例えば、ショッピングアプリを開発する場合、ログイン機能、決済機能、お問い合わせフォームなど、どのショッピングアプリにも一般的には欠かせない機能が沢山あります。
そこで、どのショッピングアプリでもこれらの機能は必要なんだから、1つにまとめとこーよ。と1つにまとめたのがフレームワークです。
フレームワークとライブラリーの違い
簡単にいうと、幾つものライブラリーを使用しているのがフレームワークです。
故に、これら2つには「自由度」の違いが生じます。
全体を形作っているのがフレームワークで、それぞれの部品がライブラリーなので、フレームワークを使わずライブラリーのみを使う場合は、より自由にコーディングすることが出来ます。
フレームワークとライブラリーのメリット・デメリット

フレームワーク
フレームワークには、汎用的な機能が複数あらかじめ用意されている為、ほとんどの場面では時間短縮ができ、効率的である一方、少し違った用途で使用したい場合には使うことが出来ません。
つまり、多くの人が必要になりそうな部分があらかじめ用意されているので、よりオリジナリティの高いシステムなどの開発には使えません。
ライブラリー
フレームワークを使わない場合、自分でどのライブラリーを使うかの判断をしたり、使うライブラリー同士の互換性を確認したりする必要があり、より開発に時間がかかってしまいます。
一方で、オリジナルティの高いシステムなどを開発する場合には、必要なライブラリーのみを加えることができたり、より良いライブラリーがリリースされたらすぐそれに交換できる点などがメリットに当たります。
以上です!