Library
예를 들어 Jquery가 있다. 내가 웹 사이트를 만드는데 Jquery를 활용하여
무언가 작업을 한다. 즉, 코드를 작성하는 주체는 나이고, 여러 라이브러리 중 하나를 가져다가 쓰는 것이다. 내가 필요할 때 Library를 불러오는 개념이다.
Framework
말 그대로 뼈대를 의미하며, App 개발 시 각 프레임 워크의 규칙에 따라 코딩해야 한다. 따라서 내 코드를 프레임워크가 불러와서 미리 규정해 놓은 흐름에 따라 처리하게 된다.
ex. django
-> Flow(흐름)에 대한 제어 권한이 어디에 있느냐의 차이
Framework 없이 개발을 하면 Main 함수 작성부터 시작해서 코드가 어디서부터 시작될 지 흐름을 정한다. 하지만 Framework는 자체적으로 코드 흐름을 제어하고 있기 때문에 개발자가 신경써야 할 일(코드 흐름 정하기)이 줄어든다. 이를 제어의 역전(Inversion Of Control)이라고 부른다.