🚗 Framework
- 코드의 품질, 필수적인 코드, 알고리즘, 데이터베이스 연동과 같은 기능들을 어느정도 갖춘 뼈대를 제공하도록 만들어진 것이 프레임워크이다.
- 프레임워크만으로는 프로그램이 실행되지 않으며, 기능을 추가해야 하고, 프레임워크가 정의한 규칙을 준수해야 한다.
📚 Library
- 자주 사용하는 기능들을 모아두었다가 필요할 때 가져다 쓸 수 있도록 모듈화한 묶음이다.
- 개발자가 어떠한 기능을 구현하기 위해서 도움을 주는 또는 필요한 것을 제공해주는 역할을 한다.
📌 프레임워크와 라이브러리의 차이점
흐름을 누가 지니고 있냐의 차이점을 가지고 있다.
Framework
- 프레임워크는 전체적인 흐름을 자체적으로 가지고 있다.
- 개발자는 프레임워크가 짜놓은 틀 안에서 정해진 규칙에 따라 코드를 작성해야 한다.
- 프레임워크는 개발자의 코드를 불러와 사용한다.
- 프레임워크에는 제어의 역전 개념이 적용되어 있어야 한다. 애플리케이션 코드는 프레임워크가 짜놓은 틀에서 수동적으로 동작해야 한다.
Library
- 라이브러리는 개발자가 전체적인 흐름을 만들며 라이브러리가 필요할 때 가져다 사용한다.
- 라이브러리를 사용하는 애플리케이션 코드는 애플리케이션 흐름을 직접 제어합니다. 단지 동작하는 중에 필요한 기능이 있을 때 능동적으로 라이브러리를 사용할 뿐이다.
참고