Library vs Framework
Library
- 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임.
- 프로그램을 빌드하는 과정에서 링킹 단계에 사용된다.
- 개발자가 필요에 따라 자유롭게 사용할 수 있다.
- Ex. JavaScript에서 날짜와 시간을 다루는 Moment.js, Python에서 수학적 연산을 돕는 NumPy 등.
Framework
- 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조.
- 흐름을 직접 제어한다. 개발자가 수행할 수 있는 작업이 제한적이다.
- Ex. 웹 애플리케이션 개발을 위한 Ruby on Rails, Spring 등.