프레임워크(Framework)란?
- 개발자가 소프트웨어를 개발함에 있어 코드를 구현하는 개발 시간을 줄이고, 코드의 재사용성을 증가 시키기 위해 일련의 클래스 묶음이나 뼈대, 틀을 라이브러리 형태로 제공 되는 것을 말한다.
- 제어의 역전 개념이 적용된 대표적인 기술이다.
프레임워크의 특징
- 개발자가 따라야 하는 가이드 제공
- 개발할 수 있는 범위가 정해져 있음
- 개발자를 위한 다양한 도구, 플러그인들을 지원
예시
- Java 서버에 사용되는 Spring
- Python 서버에 사용되는 Django
- Node.js 서버에 사용되는 Express
- 웹 개발에 사용되는 Angular, Vue.js 등이 있다.
라이브러리(Library)란?
- 소프트웨어를 개발 할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임
- 특정 기능을 모아둔 코드, 함수들의 집합이며 코드 작성 시 활용 가능한 도구들을 의미