フレームワークとライブラリの違い
フレームワークとか、ライブラリとか、違いがよくわかりません。
簡単に言うと、フレームワークは「枠組み」、ライブラリは、「道具」かな。
フレームワークとは

簡単に言うと…「枠組み」です。

「全体の処理の流れが実装されており、その中の一部の具体的な処理を自分で実装して、 はめ込めるようになっているシステム」


のことです。
はめ込めるようになっている箇所を「ホットスポット」と呼んだりします。

具体的にいうと…アプリケーションフレームワーク (Application Framework) とは、プログラミングにおいて、 特定のオペレーティングシステムのためのアプリケーションの標準構造を実装するのに使われるクラスやライブラリの集まりです。

フレームワークの目的は、Web開発で用いられる共通した作業に伴う労力を軽減することです。
たとえば、多数のフレームワークがデータベースへのアクセスのためのライブラリや、 テンプレートエンジン(→Webテンプレート)、セッション管理を提供し、コードの再利用を促進させるものもあります。

ライブラリとは

簡単に言うと…ライブラリは、使いたい部品が入っている道具箱。ただの部品の集まりです。

フレームワークみたいな全体を動かすためのロジックがありません。
ライブラリーはプログラムのある特定の機能を部品化したファイルです。
よく使う機能をライブラリー化することによって複数のプログラムから利用出来るようになります。

具体的にいうと…汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたものです。

ライブラリと呼ぶ時は、それ単体ではプログラムとして作動させることはできない実行ファイルではない場合があります。
ライブラリは他のプログラムに何らかの機能を提供するコードの集まりと言うことができます。
ソースコードの場合と、オブジェクトコード、あるいは専用の形式を用いる場合とがあります。

フレームワークとライブラリの違いのまとめ

上記からまとめると、フレームワーク>ライブラリ の包含関係にあるということになります。
他ホームページでは、

「家で例えると、建物自体がフレームワークで、テレビや洗濯機などの家電がライブラリ」

らしいです。

ライブラリーとフレームワークとの一番の違いは、 ライブラリーがアプリケーションから利用されるのに対し、 フレームワークの場合はフレームワークにあわせてアプリケーションを作成するところです。

C言語はクラスがない言語なので、再利用可能な関数の集まりが、ライブラリ。
C#のようにクラスのある言語で、再利用可能なクラスをまとめたものが、クラスライブラリ。

ちなみに、.NET Framework クラスライブラリは、.NET Framework上で使うための クラスのライブラリ。
「フレームワーク = クラスライブラリ」ではありません。

今日はここまで。