프레임워크
- 소프트웨어 개발에 사용되는 구조와 규칙, 패턴 등을 제공.
- 코드의 구조와 실행 흐름을 결정하며 개발자는 이를 따라야 함.
- 프레임워크가 사용자를 호출하여 제어권이 역전됨.(제어의 흐름이 프레임워크에 있음.)
- ex) Angluar, Vue.js 등.
라이브러리
- 특정한 기능을 구현하기 위해 미리 만들어진 함수들의 집합.
- 사용자가 파일 이름이나 구조 등을 정하고 모든 결정을 내림.
- 메서드를 호출하면 사용자가 제어할 수 있음. (제어의 흐름이 개발자에 있음.)
- ex) React, JQuery 등.
제어의 역전
- 개발자가 해왔던 일(제어)를 프로그램. 즉, 프레임워크가 대신 해준다는 의미.
- 기존 개발자가 가지고 있어야 할 객체의 제어권을 프레임워크가 대신 해준다는 의미 -> "제어권이 역전되었다."
- 프레임워크가 짜놓은 틀 안에서 수동적으로 동작하기 때문에 제어의 흐름은 프레임워크에 있음.
- 라이브러리는 개발자에게 전적으로 제어 흐름이 있으며 필요할 때마다 능동적으로 라이브러리를 호출하여 사용.
- 프레임워크는 밀키트라고 생각하면 됨. 이미 주어진 재료를 가지고 정해진 레시피대로만 하면 요리가 완성된다. 요리의 완성도는 어느 정도 보장되어 있지만 자유도는 떨어짐.
- 라이브러리는 팬트리라고 생각하면 됨. 요리하는 데 정해진 규칙은 없지만 재료는 준비되어 있음. 팬트리에 있는 식재료와 식기 등을 원하는 대로 가져가 요리하면 된다.
'공부 > CS, Network' 카테고리의 다른 글
Session storage, Local storage, Cookie 브라우저 저장소의 차이점 (0) | 2023.03.31 |
---|---|
HTTP? HTTP의 메시지 구조? (0) | 2023.03.30 |
캐시(cache)란? (0) | 2023.03.29 |
RESTful API 란? (2) | 2023.03.27 |
웹페이지가 브라우저에 렌더링되는 과정 (0) | 2023.03.27 |
댓글