프레임워크, 라이브러리라는 단어를 많이 듣는다. 각자 생각하는 정의가 있겠지만 경험에 근거해서 정리해본다.
✔ 프레임워크 Framework
영어 프레임워크Framework라는 말에는 약속 내지 상호 협력의 의미가 내포되어 있다. 예를 들어 'UN기후변화협약'의 영어 명칭은 'UNFCCC : United Nations Framework Convention on Climate Change'이다.
소프트웨어 관점에서 프레임워크를 '특정 목적을 달성하기 위해 다양한 요소들이 상호 협력하는 방법을 정의한 것'이라고 정의할 수 있다. 예를 들어 파이썬 웹 프레임워크인 플라스크Flask는 플라스크를 구성하는 다양한 요소(모듈)들이 웹 서비스 제공을 목적으로 약속된 방법으로 상호작용하도록 정의하고 있다.
하나의 프레임워크는 다양한 요소들이 상호 협력하는 방법을 규정하고 있기 때문에 여러 프레임워크를 섞어서 사용하면 제대로 동작하지 않는다. 예를 들어 파이썬 플라스크 프레임워크에 파이썬 장고dJango의 특정 모듈을 가져와서 사용할 수 없다.
✔ 라이브러리 Library
사실 프레임워크와 라이브러리를 직접 비교하는 것은 어색하다. 서로 의미하는 바가 다를 뿐 대치되거나 비교되는 개념은 아니기 때문이다.
라이브러리를 '정해진 기능을 수행하는 이미 만들어진 프로그램 코드'로 정의할 수 있다. 라이브러리에는 약속이나 상호 협력의 의미가 없기 때문에 여러 라이브러리들을 함께 사용하는 것이 가능하다. 예를 들어 파이썬의 수치해석 라이브러리인 Numpy와 데이터 시각화(도표, 그래프 그리기 등) 라이브러리인 matplotlib를 함께 사용할 수 있고 많은 경우 함께 사용한다.
■
'프로그래밍 언어 | 컴퓨터 관련' 카테고리의 다른 글
[JavaScript] mutable and immutable object (0) | 2022.12.15 |
---|---|
[SQL] SQL PROCEDURE 사용해보기 (0) | 2022.05.29 |
[React + Redux] dispatch() callback (0) | 2021.12.26 |
[React] React Router v5 → v6 변경 내용 적용 예 (0) | 2021.11.15 |
비대칭 키 암호화 구조 (0) | 2021.10.22 |
댓글