Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

ライブラリとフレームワークの違いがよくわからなかったので調べたことをまとめようと思います。

ライブラリとは

ライブラリは特定の処理をするためのプログラムを集めたもの。
何か処理を行いたいとき、自分で0からプログラムを書かなくても、ライブラリが存在していれば、そのライブラリで代行できる。

フレームワークとは

アプリケーションを作成するときに土台となるプログラムのこと。
アプリケーションを作ると似た処理がいくつか出てくるため、それらの共通処理を書かなくてもいいようにまとめたもの。
要するに骨組み。プログラマはこの骨組みにほしい機能を肉付けしていく。

共通部分

ライブラリもフレームワークも労力を削減し時間を省いてくれる。

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

ライブラリはユーザーコード(ユーザが記述したコード)によって呼び出されます。
つまりユーザの意思で使いたいときに取り出すことができる便利な道具です。そのためライブラリはユーザから指示を受けて動くため、ユーザ自身がルールとなります。

しかしフレームワークはフレームワーク内のルール上で書いたユーザプログラムがフレームワークによって呼び出されます。
フレームワークがアプリのライフサイクルである、初期化から実処理、終了までの流れを管理しており、その要所要所で「なにをするべきか」をユーザプログラムに記述します。

要するにライブラリがユーザの書いたプログラムの歯車なのに対して、フレームワークはユーザーが歯車となりフレームワーク内のルールに沿ってプログラムを書きます。

この逆転プログラム実行の主体が逆転する性質のことを制御の反転(主従の逆転)という。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした