구글링 해보면 보통 프레임워크랑 라이브러리에 대한 차이만 나와있길래...
내가 생각하는 넷의 차이에 대해 자료를 찾아 하나씩 정리해본다.
📚 목차
📕 템플릿과 프레임워크
📒 프레임워크와 라이브러리
📘 라이브러리와 API
📕 템플릿과 프레임워크
템플릿; Template
- 템플릿 기반 웹사이트라고 하면, 레이아웃의 모양이나 기능 등에 대한 틀이 제공.
- 이미 결정되어 있는 모양에 원하는 데이터를 넣는 형식
- 원형을 마음대로 변형하기 힘들기 때문에 정적인 느낌이 강함.
프레임워크; Framework
- 프레임워크 기반 웹사이트는 사용자가 직접 정의할 수 있는 범위가 템플릿에 비해 넓어짐
- 자유자재로 원하는 모양과 출력물을 더함
- 도구나 라이브러리의 모음
📖 예를 들어...
템플릿으로 아래 표가 제공된다고 하자.
색상을 변경하거나, 컬럼을 추가하는 작업이 불가능하거나 까다롭다.
만약 프레임워크라면, 위와 같은 표가 아닌 표를 만들 수 있는 도구가 프레임워크 안에 존재할 것이다.
해당 도구를 이용해 색상을 변경하거나, 컬럼을 추가하는 등의 작업이 자유롭다.
📒 프레임워크와 라이브러리
프레임워크에 대해서는 이미 바로 위에서 언급한 바가 있다.
프레임워크는 "도구나 라이브러리의 모음"이다.
그렇다면 라이브러리는 뭘까?
라이브러리; Library
- 특정 기능에 대한 도구 또는 함수들의 집합
- 빠르고 쉬운 작업을 위해 자신의 코드에서 언제든지 호출할 수 있는 코드의 집합
이제 프레임워크가 라이브러리보다 더 넓은 개념이라는 것만 알고 개념은 헷갈릴 수 있다.
그럴때는 프레임워크는 자동차, 라이브러리는 바퀴나 운전대 같은 부품이라고 생각해보자.
프로그래머는 '차'라는 프레임워크에 맞춰 트럭이나 택시, 버스 등 다양한 차를 개발한다.
필요 시 원하는 모양의 바퀴나 운전대 등을 라이브러리에서 가져와 사용한다.
📘 라이브러리와 API
API; Application Programming Interface
- 작업을 요청하기 위해 호출할 수 있는 라이브러리의 함수/방법
- 라이브러리에 대한 인터페이스
2번의 예시를 이어보자면 API는 자동차 매뉴얼 같은 것이다.
원하는 모양의 바퀴(라이브러리)를 가져오는(호출하는) 방법, 운전대를 사용하는 방법 등
원하는 라이브러리를 호출할 수 있도록 해주는 인터페이스다.
참조
1) Template Website vs Framework Website: https://blog.twentyoverten.com/template-website-vs-framework-website-which-is-right-for-your-financial-planning-firm/
2) difference between Template and Framework: https://hinative.com/en-US/questions/3400745
3) 프레임워크와 라이브러리 차이: https://juyeop.tistory.com/23
4) Difference between framework vs Library vs IDE vs API vs SDK vs Toolkits? https://stackoverflow.com/questions/8772746/difference-between-framework-vs-library-vs-ide-vs-api-vs-sdk-vs-toolkits
'Develop > etc' 카테고리의 다른 글
최적화 문제 - 완전 탐색, 동적 프로그래밍, 탐욕적 방법 (0) | 2021.10.03 |
---|---|
[Log4j] no service named is available 에러 (0) | 2021.07.21 |
[Eclipse] 프로젝트 세팅 시 오류 목록 (0) | 2021.06.01 |
[Eclipse] 프로젝트 유형 변경하기 (0) | 2021.05.19 |
[Jenkins] JMeter와 연동하기 (0) | 2021.04.29 |