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

はじめに

Reactを勉強してる中,"Reactはフレームワークじゃなくてライブラリーだよ"っと言う説明を見た時,フレームワークってライブラリと何が違うねん?ってなったので調べてみました.

フレームワークって?

概念的な意味で、何かの枠組み システム開発を楽に行えるように用意された、プログラムなどの雛形

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

数学の公式みたいな感じでしょうか、、みんな使うなら昔の偉い人が証明したから使っていいよってイメージ
みんながよく使うものを先に組んで置いてみんなで共有してWEB開発の省エネ化
汎用的に必要なものをまとめている枠組み
これあったら使い勝手いいなってやつ
フレームワーク = 枠組み, 骨組み, 構造
ex. Ruby on Raild / Angular JS / Bootstrap

ライブラリって?

よく利用する関数や機能、データをまとめたもの コトバンク

汎用性の高い便利なプログラムの枠組み
これがあるといろんなものに使い回せるなってやつ
ライブラリと言われた時に、プログラムとして作動させることができない実行ファイルではない場合がある。
ex. Railsのkaminari / PythonのNumpy

まとめ

フレームワーク

  • 理解していないと、そのフレームワーク以外でシステムを作れなくなる(Railsとか)
  • 枠組みないでは簡単に組めるが、枠を外れると作るのが困難
  • オリジナルよりパフォーマンスが劣る可能性がある

ライブラリ