목차
1. 간단 용어 정리
2. Framework vs. Library 심층 분석
1. 간단 용어 정리
- API (Application Programming Interface)
- 개발자가 공개적으로 노출한 멤버들을 사용하여 기능에 접근하고, 해당 기능을 구현하는데 사용된 코드를 숨길 수있는 인터페이스 - SDK(System Development Kit)
- 소프트웨어 개발 도구 모음
- SDK 안에는 개발에 도움이 될 개발 도구 프로그램, 디버깅 프로그램, 문서, API 등이 있다. - Software Framework
- 정의된 API를 제공하는 Software library의 모음
- 라이브러리와 달리 애플리케이션의 틀과 구조를 결정할 뿐만 아니라, 그 위에 개발된 개발자의 코드를 제어함. - Software Library
- 컴퓨터 프로그램에서 자주 사용되는 부분 프로그램들을 모아 놓은 것.
- 정적, 동적(링크, 로드) 라이브러리로 나뉨
2. Framework vs. Library 심층 분석
결론: 누가 누구를 호출하느냐의 차이 (who calls who)
프레임워크에서는 프레임워크 코드가 우리 코드를 호출하고, 라이브러리에서는 우리 코드가 라이브러리를 호출한다.
- Inversion of Control (IOC)
JavaScript 프레임워크인 jquery를 예로, Document가 준비 상태(document on ready)일 때 우리가 정의했던 콜백을 호출하는 것은 프레임워크이다. 이것은 프레임워크가 담당하는 프레임워크의 통제부분의 흐름이다.
Framework code: 통제 흐름을 정의
Your code: 행동을 정의
Library code: 행동을 정의
- 프레임워크와 라이브러리의 차이점은 Control에 관한 것. 통제의 흐름(flow of control)이 그 차이이다.
프레임워크는 당신의 애플리케이션의 흐름을 통제하고, 라이브러리는 그러지 않는다.
Reference.
https://www.youtube.com/watch?v=D_MO9vIRBcA
http://waaan.tistory.com/15
'Computer Science > 개론' 카테고리의 다른 글
[용어정리] Dynamic library vs Static library (0) | 2019.12.23 |
---|---|
객체지향 프로그래밍(Object Oriented Programming) 특징 (0) | 2019.08.28 |
멀티 프로세스(Multi Process)와 멀티 스레드(Multi Thread) (0) | 2016.11.09 |