ライブラリとフレームワークの違いとは?特徴や実例もプログラマーがわかりやすく解説
ライター/woinary
某社で社内向け業務システムの開発、運用を30年近くやっていたシステム屋さん。現在はフリーランス。ガジェットやゲーム、ラノベが大好きなおっさんです。
ライブラリとフレームワークの違いとは?
image by iStockphoto
プログラムを開発する際に利用するのがライブラリやフレームワーク。では、これらは何が違うのでしょう。ライブラリは日本語にすると「図書館」です。図書館というからには本がたくさんありそう。一方、フレームワークは「骨組み」になります。一体何の骨組みなのでしょう。ここからまずは見ていきます。
ライブラリ:便利な機能を集めたもの
ライブラリは図書館と紹介しましたが、どのようなところでしょう。探しやすいように分類ごとに本をまとめてあり、借りた本を読むことができます。プログラムの開発でよく使うものや便利なものをまとめておいて、簡単に使える仕組みがライブラリです。
科学計算用のライブラリやAIのライブラリというものが公開されています。それを使うことで、0からプログラムを書かなくても目的のプログラムを楽に作ることができるのがライブラリです。ライブラリは自分のプログラムで使う部品を借りてきて自由に使えるものになります。
フレームワーク:アプリの基礎や土台
フレームワークもライブラリと似ています。フレームワークを使うことでプログラム開発が楽になる、という部分は同じです。大きな違いはその名の通りフレームワークはアプリケーションの「骨組み」ということ。建物の基礎や土台に似ています。
例えば、Webアプリを作るためのフレームワークのReact。実はすでにWebアプリとして動く骨組みが用意されているため、何もプログラムを書かなくても最低限のWebアプリとして動くのです。ここに実際に作りたい内容を肉付けしていくことでアプリケーションを作っていくのがフレームワーク(骨組み)。ライブラリと逆に、自分のやりたい内容を部品としてフレームワークに組み込むことでアプリケーションが出来上がります。
プログラムはモジュールでできている
image by iStockphoto
プログラムは1つの大きな塊ではなく、いくつかの小さな塊に分けて開発します。その1つ1つの塊が「モジュール」です。このモジュールのことをプログラミング言語によって関数やサブルーチン、クラス、モジュールと様々な名前で呼んでいますが、この記事ではまとめて「モジュール」と呼ぶことにします。プログラムは1つ以上のモジュールの集まりです。
\次のページで「モジュールはソフトウェアの部品」を解説!/