🐕

ライブラリとフレームワークを例える

2022/10/12に公開

フレームワークとライブラリの違いを例える

フレームワークやライブラリやパッケージなんて言葉はプログラム学習ではよく登場します。しかし、違いがよくわからずに便利な何かという雰囲気だけ理解してたりしませんか。
実際、雰囲気だけでも掴んで取り組めているならそれでよい気がします。でも、その違いが納得できずにモヤモヤしている人も居るかもしれません。だから、例え話をします。

フレームワークはお弁当箱

お弁当箱だと思ってください。食器セットとかでも良いですがお弁当箱がオススメです。要するにである事が大切です。必要な要素を詰めればお弁当が完成出来る土台になるものです。
「お弁当を作ってください」という要求に対して、お弁当箱の中身を詰めれば、お弁当は完成出来ます。中身をどう使おうと、何を詰めようと関係ありません。

今までフレームワークという言葉はどんな場面で登場してきたでしょうか。きっとウェブアプリを作る演習などでフレームワークを使ってアプリを作りましょうなんて登場の仕方だったのではないでしょうか。
そのフレームワークはウェブアプリを作るための土台となる存在です。必要な要素を組み込むことでウェブアプリが容易に完成出来ます。

お弁当箱には、お弁当箱毎に特徴があります。レイアウトが柔軟なものや保温性が優れているもの、2段重ねのもの、コンパクトなものなどです。
プログラムに使うフレームワークも同じです。それぞれに特徴があります。カスタマイズ性に優れているものや堅牢性、動作が軽快、流行、システムの規模、学習コスト、ドキュメントの質や量などです。
作るべきシステムの要求に合わせて選択することになります。

フレームワークは使わなくても大丈夫。でも、使った方が構築が容易で安全だったりします。大まかなシステム構成はフレームワークが担ってくれます。
プログラマはサイトの特徴であるレイアウトや機能に集中することが出来ます。

ライブラリはお惣菜

お惣菜だと思ってください。もっと便利に冷凍食品だと思ってください。冷凍されたお惣菜を詰めれば良いんです。お弁当箱に。ハンバーグや唐揚げをお弁当に詰めるとき、それらを1から作る事を考えれば遙かに便利なのが感じられませんか。
リッチなものが手軽に利用出来るという点が大切です。必要なときに必要なだけ利用する事が出来ます。

今までライブラリという言葉はどんな場面で登場してきたでしょうか。きっと、プログラミングの最中にそれライブラリを使えば、自分で書く必要無いよとか先輩に言われたりしたんじゃないでしょうか。
ライブラリはプログラムを作る際に利用する部品(一要素)のような存在です。必要なときに便利に組み込むことが出来、動作を実現することが出来ます。

スーパーに行ってお惣菜や冷凍食品の売り場を眺めてみるとわかります。ハンバーグやパスタ、から揚げ、ポテトと多くの人が好きそうなものが並んでいます。要するに、それらがお弁当を入れることが多くて求められているものです。
ライブラリも同じです。プログラムを作る際によく使う処理や機能は既に用意されています。僕らはこれらを自身のタイミングで利用することになります。

ライブラリは使わなくても大丈夫。でも、使った方が構築が容易で安全だったりします。たった数行のプログラムでも自身で作って条件を間違うなどよりは、多くの人が使ってきたライブラリを上手に使う方法を覚える方が良いと思います。
また、ソースコードもシンプルで読みやすくもなってくるのでは無いでしょうか。

終わりに

あくまでイメージするきっかけの記事です。プログラミングにバリバリ携わっている人からすればどうでもよい記事です。ただ、僕がプログラミングを始めた頃もそうですがちょっとしたキーワードの意味を自身の中に落とし込むことに苦労しました。
何かに例えて納得さえ出来れば先に進めたりするので、そのきっかけになるような記事になれば良いと思っています。

Discussion