본문 바로가기
실무 TIP

IT 실무용어 파헤치기 17 - 프레임워크(Framework) vs 라이브러리(Library)

by 함께 공부해요 2022. 3. 25.

프레임워크(Framework)

작업(work)의 구조(frame)가 정해져 있는 라이브러리

단, '프레임워크가 원하는 방식'대로 다양한 기능을 제공

[유명한 프레임워크]

1) Java 서버 개발에 사용되는 Spring

2) Python 서버 개발에 사용되는 Django, Flask

3) 안드로이드 앱 개발에 사용되는 Android

4) 아이폰 앱 개발에 사용되는 Cocoa Touch

5) 웹 개발에 사용되는 React, Angular, Vue.js 등


라이브러리(Library)

현실세계에서의 라이브러리(도서관)란 필요할 때마다 꺼내볼 수 있는 책(지식)들이 모여있는 곳

프로그래밍에서의 라이브러리란 필요한 기능들이 모여있는 코드의 묶음이라고 생각할 수 있음

자주 사용되는 기능들을 라이브러리(객체나 함수등의 형태)로 만들어두면, 필요할 때마다 직접 호출하여 사용할 수 있음

[남들이 만들어둔 외부 라이브러리도 사용 가능]

1) Browser환경에서 script src 로 불러들이는 js파일(JQuery 등)

2) node.js 환경에서 npm으로 설치한 모듈

3) Python 환경에서 pip로 설치한 패키지/모듈

4) Java 환경에서 설치한 jar


정리) 프레임워크 vs 라이브러리

가장 큰 차이점은 "코드 흐름의 제어권"이 누구에게 있는가?

프레임워크

: 개발자가 구현한 메서드가 프레임워크에 의해 호출됨

>> 이를 제어의 역전(IoC: Inversion of Control)이라고 함

라이브러리

: 라이브러리의 객체나 함수를 개발자가 직접 호출하여 사용함

참고 : https://curryyou.tistory.com/363

 

[개발 용어] 라이브러리 vs. 프레임워크 개념과 차이

# 라이브러리(Library)란? 현실세계에서의 라이브러리(도서관)란 필요할 때마다 꺼내볼 수 있는 책(지식)들이 모여있는 곳이다. 프로그래밍에서의 라이브러리란 필요한 기능들이 모여있는 코드의

curryyou.tistory.com

 

댓글