목차
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


+ Recent posts