Posts Library & API & Framework & Engine & SDK
Post
Cancel

Library & API & Framework & Engine & SDK


Library & API & Framework & Engine & SDK

각각의 특징 및 차이점 정리

Library

  • 프로그램에서 자주 사용되는 부분을 모아놓은것
  • 정적, 동적(링크,로드) 라이브러리로 분류

정적 라이브러리

  • 컴파일러가 소스파일을 컴파일 할 때 참조되는 프로그램 모듈

장단점

  • 장점: 시스템 환경이 변해도 애플리케이션에 영향이 없음, 완성된 애플리케이션을 안정적 사용가능
  • 단점: 사용하는 모든 오브젝트 코드를 실행파일에 내장하기 때문에 메모리에 로드되는 애플리케이션 코드가 커짐

동적 라이브러리

  • 프로그램 수행 도중 모듈이 필요할 때 호출해서 사용하는 프로그래밍 모듈

동적 링크 라이브러리

  • 실행 파일과 관련된 라이브러리코드를 모두 메모리에 읽어 들여 호출 관계를 조정한다음 어플리캐이션 실행

동적 로드 라이브러리

  • 실행 파일 실행시 읽어 들이지 않은 라이브러리를 추가적으로 이용하는 라이브러리

장단점

  • 장점 : 애플리케이션을 빌드 할때 존재하지 않았던 라이브러리 사용가능
  • 단점 : 플러그인 형식으로 경로 설정, 따로 설치

API

  • 응용 프로그램에서 사용할수있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
  • 응용 프로그램 간에 연동이나 개념이 많아지자 서로 다른 응용 프로그램 간 기능을 공유할수있도록 개발
  • 응용 프로그램과 디바이스를 연결해주는 역활

Framework

  • 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스 제공

특징

  • 라이브러리와 달리 애플리케이션의 틀과 구조를 결정할 뿐만 아니라, 그 위에 개발된 개발자의 코드를 제어
  • 구체적이며, 확장 가능한 기반 코드를 보유하고 있음
  • 설계자가 의도하는 여러 디자인 패턴의 집합으로 구성

Engine

  • 핵심적이고 본질적인 기능을 수행하는 프로그램
  • 한 가지 목적을 위해 공동작용을 하는 일련의 프로그램들에 대해 전반적인 운영을 조정하거나 응용프로그램 내에서 중심적인 기능을 하고 있는 프로그램

Engine 종류

  • 검색 엔진 : WWW(world wide web)과 FTP 서버에서 정보를 찾을 수 있도록 만들어진 소프트웨어
  • 게임 엔진 : 컴퓨터·비디오 게임 같은 실시간 그래픽 표시 기능을 갖춘 상호 작용 응용 프로그램을 구현하는 핵심 소프트웨어 구성 요소

SDK

  • 소프트웨어 개발 도구
  • 지금은 의미가 전용되어 API와 거의 같은 뜻
This post is licensed under CC BY 4.0 by the author.