この記事では、「ライブラリ」と「フレームワーク」の違いを分かりやすく説明していきます。
「ライブラリ」とは?
「ライブラリ」とは、プログラムのメインルーチンから呼び出すサブルーチン類を、別ファイルにしたものだと考えてください。
メインルーチンとなるソース内に、そのままそれらを記載しても構いませんが、別のファイルにしておくことで、色々なソースファイルから共通して利用できるようになります。
コンパイル時に呼び出されたソールファイルと共に実行ファイルとして一緒になるタイプの「ライブラリ」と、プログラムの実行時に動的にそこからの呼び出しができる「ダイナミックリンクライブラリ」に分かれ、近年のWindows環境では、ほとんど後者が使われています。
その理由として、20MBの容量のあるライブラリを3つのプログラムで利用する時に、それぞれのプログラムに内包してしまうと、全てのプログラムが少なくとも20MB以上のサイズになります。
ですが、ダイナミックリンクライブラリであれば、20MBの1つのそれと3つのプログラムと、ファイル数こそ増えますが、容量的には40MB(20MB×2つ)分が節約できます。
「フレームワーク」とは?
「フレームワーク」とは、先の「ライブラリ」の種類として挙げた、「ダイナミックリンクライブラリ」の集合体になります。
ダイナミックリンクライブラリの場合、ソフトによっては数十種類(のファイル)にも分かれますが、それらをまとめたものです。
ファイル数として1つとは限りませんが、特定のソフトにおいて必要になる「ライブラリ」を一まとめに呼ぶ表現で、色々なソフトで共通した「プラットフォーム」として利用される場合も少なくありません。
「ライブラリ」と「フレームワーク」の違い
「ライブラリ」と「フレームワーク」の違いを、分かりやすく解説します。
「ライブラリ」には、プログラムに内包してしまうタイプのものと、プログラム(ソフトとして)の動作に必要な別ファイルとなる「ダイナミックリンクライブラリ」があり、現在のWindowsでは後者が主流になっています。
「フレームワーク」は、そのダイナミックリンクライブラリが集まったもので、マイクロソフトの「. NET Framework」が有名です。
これを必要とするソフトも多数存在し、共通したプラットフォームという扱いになっています。
まとめ
「ライブラリ」と「フレームワーク」は、このように違います。
現在、「ライブラリ」と言えば、まず「ダイナミックリンクライブラリ」の方だと考えていいでしょう。