프레임워크와 라이브러리
카테고리: feDevEnvironment
📌 프레임워크
프레임워크는 작업의 구조가 정해져 있는 것으로 프레임워크가 원하는 방식으로 다양한 기능을 제공한다.
프로그래밍을 진행할 때 필수적인 코드, 알고리즘 등과 같이 어느 정도의 구조를 제공하므로 프로그래머는 이 프레임워크 위에서 코드를 작성하여 개발하게 된다. 그러므로 매뉴얼에 포함된 규약을 지키며 결과물을 만들게 되는 것이다.
장난감 키트
로 예를 들자면, 어떠한 일정한 부품과 키트를 제공하는 것은 장난감 제조회사로, 어떠한 것을 만들기 위한 요소들을 제공해 주는 누군가가 바로 개발자들이 말하는 프레임워크이다. 이 프레임워크는 어떤 프로그램을 쉽게 만들기 위한 요소와 규약을 제공하여 생산성과 품질을 높일 수 있도록 도와주게 된다.
- 웹 개발에 사용되는 Vue.js, Angular
- Java 서버 개발의 Spring
- Python 서버 개발에 사용되는 Django, Flask
📌 라이브러리
소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임으로, 특정 기능을 모아둔 코드와 함수
들의 집합이다. 자주 사용되는 기능들을 라이브러리(객체나 함수)로 만들어, 필요할 때마다 호출하여 사용하게 된다.
- 웹에서 사용자 인터페이스 개발에 사용되는 React.js
- Node.js에서 npm으로 설치한 모듈
- HTML의 클라이언트 사이드 조작을 단순화하는 JQuery
📌 차이점
프레임워크와 라이브러리의 차이점은 그 흐름을 누가 가지고 있느냐
라고 할 수 있다. 프레임워크는 전체적인 흐름을 가지고 있어 프로그래머는 그 안에서 코드를 작성하게 된다. 라이브러리는 프로그래머가 전체적인 흐름을 가지고 있어서 라이브러리를 자신이 원하는 기능을 구현하고자 할 때 호출하여 사용하게 된다.
라이브러리는 자신이 호출을 하든 안 하든 프로그래머의 마음에 달려있지만 프레임워크는 지켜야 하는 어느 정도의 규칙이 존재하게 된다.
프레임워크는 프로그램을 만들기 시작하면 어떠한 규약을 지키면서 만들어야 한다. 하지만 라이브러리는 도구이다. 프레임워크가 가지고 있는 규약을 지킨다면 나머지 부분은 어떠한 도구(라이브러리)를 사용할지는 프로그래머의 자유이다.
댓글남기기