summary:
フレームワークでは制御の反転[IoC: Inversion of Control]という原則が働き,開発者のコードがフレームワークから呼び出される関係となる.フレームワークは骨組みや設計図のような役割を果たし,開発者はフレームワークが定める規約やパターンに沿って特定の箇所にコードを記述する.これにより開発の一貫性や効率性が高まるが,自由度はライブラリよりも制限される.代表的なフレームワークとしては,WebアプリケーションのRuby on Rails,Django,Angular,バックエンドのSpring,モバイルアプリのReact Nativeなどがある.
ライブラリとフレームワークの主な違いは「誰が制御しているか」という点にある.ライブラリは開発者がコントロールするツールであるのに対し,フレームワークは開発者のコードをコントロールする環境と言える.
Mathematics is the language with which God has written the universe.