프레임워크와 라이브러리의 차이점
둘의 가장 큰 차이점은 '제어 흐름의 권한'이 어디에 있냐 라는 것.
라이브러리를 사용할 때 사용자는 애플리케이션 코드의 흐름을 직접 제어해야 한다.
개발 시 필요한 기능이 있을 경우 능동적으로 라이브러리를 호출하여 사용하거나 기존에 구성된 함수나 코드를 가져다 써야한다.
반면 프레임워크는 애플리케이션의 코드가 프레임워크에 의해 사용됩니다.
애플리케이션 코드는 프레임워크가 짜 놓은 틀에서 수동적으로 동작하기 때문에 제어의 흐름은 프레임워크가 가지고 있고 사용자가 그 안에 필요한 코드를 작성하게 됩니다.
프레임워크와 라이브러리 정의
- 프레임워크(Framework)
- 원하는 기능 구현에 집중하여 개발 할 수 있도록 이정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대를 의미.
- 앱&서버 등의 구동, 메모리 관리, 이벤트 루프 등의 공통된 부분은 프레임워크가 관리하며 사용자는 프레임워크가 정해준 방식대로 클래스, 매서드들을 구분 하면 됨.
- 웹개발 JS와 밀접한 프레임워크
- Vue.js
- Angular
- 라이브러리?(Library)
- 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임.
- 즉 특정 기능을 모아둔 코드&함수의 집합체이며 코드 작성시 활용 할 수 있는 도구들을 의미.
- 작업자가 필요할때 부를 수 있는 것들의 모임.
- 웹개발 JS로 만들어진 라이브러리
- Jquery
- React.js
TIP. React.js는 프레임워크가 아니다?

JS기반 프레임워크 3대장이 "React, Vue.js, Angular'로 알려져있고 나도 그런 줄 알았으나 React 공식 홈페이지에서 정의 한 것으로는 프레임워크가 아닌 JS 라이브러리로 분류 된다고 한다.
즉, React.js는 사용자 인터페이스 개발을 위해 사용되는 라이브러리가 맞다.
반응형
'Tip > TipContent' 카테고리의 다른 글
| [Postman] API 테스트를 쉽고 간단하게 도와주는 툴 (Feat. Restful API) (0) | 2023.10.27 |
|---|---|
| [Data] CRUD와 HTTP 요청 4가지 기본 메소드 (0) | 2023.10.23 |
| [개발] 'Attribute' 와 'property' 차이점 (0) | 2023.01.17 |
| [IT]유용한 웹,앱 아이콘 라이브러리 (0) | 2022.02.07 |