-
Module, Library, Framework, SDK, API 간단 용어 정리웹/기본 2016. 11. 11. 13:11
이 글로 알 수 있는 것
- 모듈, 라이브러리, 프레임워크, Software Development Kit(SDK), Application Programming Interpace(API)에 대해 정확히 알 수 있다.
Module
- 모듈
- 컴포넌트(component), 구성요소, 부품, 성분
- 프로그램을 구성하는 한 부분으로 볼 수 있다.
Library
- 라이브러리
- 컴퓨터 프로그램에서 자주 사용되는 부분 프로그램들을 모아놓은 것이다.
- 라이브러리 분류
- 정적 라이브러리
- 동적 라이브러리
- 동적 링크 라이브러리
- 동적 로드 라이브러리
- 정적 라이브러리
- 컴파일러가 소스파일을 컴파일할 때 참조되는 프로그램 모듈
- 빌드 시에 라이브러리가 제공하는 코드를 실행파일에 넣는 라이브러리
- 시스템환경이 변해도 앱에는 아무 영향 없으며, 완성된 앱을 안정적으로 사용 가능하다.
- 사용하는 모든 오브젝트 코드를 실행파일에 내장하므로, 메모리에 로드되는 앱 코드가 많아진다.
- 동적 라이브러리
- 프로그램 수행 도중 해당 모듈이 필요할 때 호출해 사용하는 프로그램 모듈
- 앱을 빌드할 때 존재하지 않던 라이브러리도 사용 가능하다.
- 플러그인 형식으로 경로를 설정해야 하며, 설치가 따로 필요하다.
- 동적 링크 라이브러리
- 실행파일과 관련된 라이브러리코드를 모두 메모리에 읽어들여 호출관계를 조정한 다음 앱이 실행된다.
- 동적 로드 라이브러리
- 실행파일 실행 시 읽어 들이지 않은 라이브러리를 추가적으로 이용하는 라이브러리
Framework
- 프레임워크
- 문제를 풀기 위한 추상적 설계를 구체화한 클래스의 집합.
- 설계, 구현을 재사용하게끔 협업화된 형태로 클래스를 제공하는 것.
- 라이브러리와 달리 앱의 틀과 구조를 결정하며, 그 위에 개발된 개발자의 코드를 제어한다.
- 구체적이고, 확장 가능한 기반 코드를 보유한다.
- 설계자가 의도하는 여러 디자인 패턴의 집합으로 구성돼있다.
API
- API, Application Programming Interface
- 앱을 개발하기 위한 규칙.
- 앱에서 사용할 수 있도록, 운영체제나 프로그래밍언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스.
- 개발자를 위한 인터페이스.
- 앱 간에 연동의 개념이 많아지자 서로 다른 앱 간 기능을 공유할 수 있도록 개발한다.
- SDK와 거의 같은 뜻으로 쓰인다.
SDK
- SDK, Software Development Kit
- 소프트웨어 개발 도구 모음
- SDK 안에는 개발에 도움이 될 개발 도구 프로그램, 디버깅 프로그램, 문서, API 등이 있다.
Framework와 Library의 차이점은?
- [Web]Framework와 Library의 차이점은 누가 누구를 호출(call)하느냐이다 <http://waaan.tistory.com/15>
'웹 > 기본' 카테고리의 다른 글
[Web]웹의 탄생과 HTTP에서 요청문(request)과 응답문(response)을 알아보자. (0) 2016.12.13 Framework와 Library의 차이점은 누가 누구를 호출(call)하느냐이다 (0) 2016.11.11 API, HTTP, REST, AJAX, JSON, AJIT 간단 용어 정리 (0) 2016.11.10