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

概要

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

プログラミングにおいて「ライブラリ」と「フレームワーク」はどちらも便利なコードの集合体ですが、
役割と使い方が大きく異なります。
一言で表すと

  • ライブラリ:道具箱(必要なときに取り出して使う)
  • フレームワーク:設計図+作業場(そのルールに従って作業する)

ライブラリ (Library)

特徴

  • 必要な機能を 自由に呼び出して使う
  • コードの「部品」を集めた道具箱のような存在。
  • 開発者が「いつ・どこで使うか」を決められる。

  • PHP:Carbon(日付処理)、Guzzle(HTTP通信)
  • JavaScript:Axios(通信)、Lodash(配列操作)、React(UI生成)、Vue.js(UI生成)

フレームワーク (Framework)

特徴

  • アプリ全体の 構造やルールを提供する枠組み
  • 開発者はその流れに沿って作業する。
  • 「呼び出す」のではなく、フレームワーク側がこちらのコードを呼び出す(制御の反転, IoC)。
  • 大規模開発やチーム開発に向く。

  • PHP:Laravel、Symfony
  • JavaScript:Next.js、Nuxt.js、Angular
  • Python:Django、Flask

違いを表にすると

項目ライブラリフレームワーク
主な役割部品(便利ツール)枠組み(設計図・土台)
使用者の自由度高い(好きなときに使う)低い(決められたルールに従う)
制御の主体開発者フレームワーク
規模小~中規模開発に便利中~大規模開発に便利
Axios, Lodash, Carbon, ReactLaravel, Next.js, Django
タイトルとURLをコピーしました