API
(Application Programming Interface)
- 개발자가 공개적으로 노출한 멤버들을 사용하여 기능에 접근하고,
- 해당 기능을 구현하는 데 사용된 코드를 숨길 수 있는 인터페이스
- 응용프로그램끼리 통신할 수 있는 인터페이스를 제공하는 것
- 모듈화 하여 만들어진, 어떤 기능을 제어/제공하는 인터페이스를 말함.
ex) 앱의 네이버 결제 서비스 - 애플리케이션에 특정 기능을 추가하는 데 사용됨
SDK
(System Development Kit)
- 특정 운영 체제용 앱 개발을 위한 소프트웨어 개발 도구
- 어떤 소프트웨어를 만들기 위한 도구 모음을 SDK라고 한다. 이 도구엔 API도 포함되어 있다.
ex) iOS SDK를 다운로드하면 개발자에게 iOS 애플리케이션을 만드는 데 필요한 모든 도구가 제공, 개발자가 컴퓨터에서 iPhone 시뮬레이션을 할 수 있는 iPhone 시뮬레이터도 포함 - API, IDE, 문서, 라이브러리, 코드 샘플 및 기타 유틸리티가 포함될 수 있음.
- 프로그램 및 응용 프로그램 개발의 복잡성을 줄이는 강력한 기능 집합
- SDK 안에는 개발에 도움이 될 개발 도구 프로그램, 디버깅 프로그램, 문서(라이브러리), API 등이 있음.
- 새로운 애플리케이션을 생성하거나 하나의 패키지로 많은 기능을 추가하는 데 사용됨
Framework
- 정의된 API를 제공하는 Software library의 모음
- 여러 면에서 라이브러리와 SDK의 반대
- 라이브러리, API, 유틸리티 및 일반적인 프로그래밍 요건을 해결하기 위한 문서 모음이므로 사용자가 직접 작업을 수행할 필요가 없음.
- 라이브러리와 달리 애플리케이션의 틀과 구조를 결정할 뿐만 아니라, 그 위에 개발된 개발자의 코드를 제어함.
Library
- 컴퓨터 프로그램에서 자주 사용되는 부분 프로그램들을 모아 놓은 것.
- 특정 작업을 위해 쓰인 변수, 함수 등의 모음
- 정적, 동적(링크, 로드) 라이브러리로 나뉨
라이브러리는 도구와 같고, 프레임워크는 만들어진 제품과 같다
'IT 지식 > 기타' 카테고리의 다른 글
무엇인지 감은 오면서 딱 설명할 수없는 단어! (0) | 2023.01.26 |
---|