初学者です。今回がQiita初投稿です。
ライブラリーとフレームワークの違いがよくわからなかったので、いろいろとググってざっくりと簡単にまとめました。
書き方がすごく雑です。ごめんなさい。
#ライブラリ
ライブラリとは再利用できる部品を集めた物。
よく使いそうな特定の機能とかを個々が1から作るのは面倒だからみんなで使い回しましょうや!ってな感じ。
ここでいう部品とは、クラスや、メソッド(関数)のこと。
ライブラリ単品では意味をなさず、呼び出してシステムにはめ込むことで機能する。
プログラムを書いてる人が必要な時に呼び出す。
#フレームワーク
ライブラリと同じ、部品(クラス、関数)の集まりなんだけど、そこに枠組みがあるかどうかって違い。
何かを作る際の手順が備わっているイメージ。
railsだったらwebアプリケーションを作成するに当たっての雛形、枠組み。
一部をチョコチョコっと自分ではめ込んで実装していく。(ちなみにこのはめ込む場所をホットスポットというらしい。)
ライブラリとは違い、フレームワークがプログラムを書いた人のコードを呼び出す。
#制御の反転(ハリウッドの法則)
プログラマーによって呼び出されるライブラリーに対し、プログラマーのコードを呼び出すフレームワーク。
この立場が逆転になっていることを制御の反転という。
フレームワークは便利な反面、カスタマイズ性に乏しく枠組み外のことをすることはできない。これはある意味フレームワークに書かされているとも言える。
#参考にさせて頂いた記事、サイト
「ライブラリとフレームワークの違い。」
https://qiita.com/azuki8/items/ad7710fdefaedc63e3f7
https://small-is-beautiful.net/diff-library-and-framework/#toc9
https://note.com/bunkei_engeneer/n/n62f9ee01b2d1
「制御の反転」
https://ja.wikipedia.org/wiki/%E5%88%B6%E5%BE%A1%E3%81%AE%E5%8F%8D%E8%BB%A2