프레임워크란?
특정 프로그램을 개발하기 위한 여러 요소들과 메뉴얼인 룰을 제공하는 프로그램
역할 : 어떤 프로그램을 쉽게 만들기 위한 요소와 룰을 제공해 줌으로서 소프트웨어의 생산성과 품질을 높이는 역할을 하는 것
라이브러리(Library)
소프트웨어를 개발하기 쉽게 어떤 기능을 제공하는 도구들
프레임워크를 가지고 프로그램을 프레임워크에서 제공하는 요소와 그것을 사용하기 위한 규약을 지키면 그 밖에 나머지는 어떤 라이브러리를 가져다가 써도 어떤 패키지를 가져다가 써도 상관이 없는 것
※ 라이브러리 예
Python : Datetime, Pandas, Beautifulsoup
Java : Guava, Apache common lib
C++ : STL
프레임워크 VS 라이브러리
- 차이점 - ‘자유도’
프레임워크를 가지고 프로그램을 만들기 시작하면 어떤 규약을 꼭 지키면서 만들어야 한다. 하지만 라이브러리는 도구이다. 이 프레임워크가 가지고 있는 규약을 지키면서 나머지 자유로운 부분은 어떠한 도구를 써도 무방하다.
- 공통점
프로그램을 쉽게 만들기 위해서 만든 것들이라는 점
요약
프레임워크 : 특정 프로그램을 개발하기 위한 여러 요소들과 메뉴얼인 룰을 제공하는 프로그램
라이브러리 : 프로그램을 개발하기 위해 쓰는 공구와 같은 도구들
- 공통점 : 프로그램을 쉽게 만들 수 있게 하는 공통된 목적이 있음
- 차이점 : 자유도
- 프레임워크는 꼭 써야되는 것과 지켜야되는 룰이 있다.
- 라이브러리는 쓰든 안 쓰든 자기 마음이다.
출처 및 참고
반응형
'Computer Science > Etc' 카테고리의 다른 글
[Linux] SSH pem key 생성 (EC2에 SSH 연결하기) (0) | 2024.03.06 |
---|---|
Git hub branch 작업 프로세스 (0) | 2023.05.24 |
[Etc] 3계층 구조 (3 Tier - Architecture) (0) | 2023.01.23 |
[Etc]Compile(컴파일) vs Linking(링킹) vs Debugging(디버깅) vs Build(빌드) (0) | 2022.02.19 |