ープログラミングでよく出てくる2つの言葉をわかりやすく整理ー
プログラミングの勉強やITの記事を読んでいると、よく出てくる言葉があります。
- ライブラリ
- フレームワーク
どちらもプログラム開発で使われる仕組みですが、最初はこの2つの違いが分かりにくいことが多いです。
しかし、違いはシンプルです。
ポイントは 「誰が主導しているか」 です。
この記事では、この2つの違いを整理しながら、実際の開発現場での使われ方も紹介します。
ライブラリとは
ライブラリとは便利な機能をまとめた部品集のことです。
例えば次のような機能が用意されています。
- 計算処理
- 画像表示
- 音声再生
- データ処理
プログラマーは必要なときに
「この機能を使おう」と 自分のプログラムから呼び出して使います。
つまり、主役は自分のプログラムです。
必要なときだけ機能を借りるイメージです。
フレームワークとは
フレームワークとはプログラムの作り方の型(構造)です。
最初から
- プログラムの構造
- 処理の流れ
- ファイルの配置
などが決まっています。
開発者は、その仕組みに合わせてプログラムを書いていきます。
つまり用意された仕組みの中にプログラムを組み込む形になります。
一番シンプルな違い
この2つの違いを簡単に言うと
ライブラリ → 必要な機能を使う部品
フレームワーク → 作り方の型
です。
ゲーム開発で考える例
ゲームを作る場面で考えると理解しやすくなります。
ライブラリ
例えば
- 音を鳴らす
- 画像を表示する
- キー入力を取得する
といった機能を、必要なときに呼び出して使う場合です。
ゲームのプログラムが中心で、必要な機能だけを使います。
フレームワーク
ゲーム開発用の仕組みを使う場合は少し違います。
最初から
- ゲーム画面
- 更新処理
- 入力処理
- 描画処理
など、ゲームの基本構造が用意されています。
開発者は、その仕組みの中に
- キャラクターの動き
- スコア
- 当たり判定
などを書いていきます。
実際の開発会社でよくある構造
実際の開発会社では、次のような構造で開発することがよくあります。
ゲームエンジン(フレームワーク)
↓
会社の共通開発テンプレート
↓
各プロジェクトのプログラム
例えば会社では
- ゲームの基本システム
- キャラクター管理
- スコア処理
- 画面遷移
などを 共通のテンプレートとして用意しておくことがあります。
そして開発者は、その仕組みを使って
- 新しいゲーム
- 新しいステージ
- 新しい機能
を作っていきます。
このように
フレームワークの上に、さらに開発用の仕組みを作る
という形は、実際の開発現場でもよく見られる方法です。
まとめ
ライブラリとフレームワークの違いを整理すると次のようになります。
ライブラリ
- 便利な機能をまとめた部品
- 必要なときに呼び出して使う
フレームワーク
- プログラムの作り方の型
- 用意された構造の中で開発する
覚え方としては次の一言が分かりやすいでしょう。
ライブラリ → 必要な機能を借りる
フレームワーク → 用意された型の中で作る
この違いを理解しておくと、プログラミングの仕組みや開発の構造がぐっと見えやすくなります。


コメント