반응형
제가 다니는 회사는 게임에 SDK를 제공하고 있습니다. 그렇게 된 이유는 아마도 게임에 사용되는 공통 기능을 제공하여 게임 개발에만 집중할 수 있도록 하기 위함이 아닐까 싶습니다. 뭐 이건 제 추측이고요.
아무튼, SDK를 제공합니다.
SDK(Software development kit)
- 개요
- 소프트웨어 개발 키트로 개발자에게 다른 프로그램을 추가하거나 연결할 수 있는 커스텀 앱을 제작할 수 있는 기능을 제공하는 도구 모음
- SDK 안에는 IDE(통합개발환경)을 포함하는데 여러가지 API, 디버깅 프로그램, 라이브러리 등 여러가지 도구 포함
- 소프트웨어 개발 키트로 개발자에게 다른 프로그램을 추가하거나 연결할 수 있는 커스텀 앱을 제작할 수 있는 기능을 제공하는 도구 모음
- SDK 필요성
- 모든 기능을 처음부터 다 만들지 않아도 됨
- 미리 만들어진 도구를 제공함으로써 개발 과정을 쉽게 함
- 예시
- Android SDK : 안드로이드용 앱 개발을 위한 도구
- JDK : 자바개발자를 대상으로한 오라클에서 제공하는 도구
예전에 API를 잠깐 이야기를 한적이 있었는데, 그 때 아래와 같이 정의를 해놓았습니다.
API (Application Programming Interface)
- 개요
- 응용프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
- API 필요성
- 구현방식을 알지 못해도 제품 또는 서비스 사이에 커뮤니케이션 가능
- 애플리케이션 개발을 간소화 시간 비용 절약
그럼 이 비슷비슷한 SDK와 API를 차이점이 뭘까요?
SDK는 망치, 팬치, 니퍼 등이 들어있는 하나의 공구박스라고 하면, API는 그 중 망치만을 말합니다. 그래서 개념적으로는 SDK가 API보다 큰 개념이지요.
참고자료
- API(애프리케이션 프로그래밍 인터페이스)란 - 개념, 기능, 장점 : https://www.redhat.com/ko/topics/api/what-are-application-programming-interfaces
- SDK, API의 개념과 차이점 : https://doozi0316.tistory.com/entry/SDK-API%EC%9D%98-%EA%B0%9C%EB%85%90%EA%B3%BC-%EC%B0%A8%EC%9D%B4%EC%A0%90
반응형
'개발용어' 카테고리의 다른 글
알아두면 좋은 개발용어 11 (쿼리스트링) (0) | 2022.12.28 |
---|---|
알아두면 좋은 네트워크 용어 (IP, 공인IP, 사설IP) (0) | 2022.12.17 |
알아두면 좋은 개발 용어 9 (Hash, 해시) (0) | 2021.07.04 |
알아두면 좋은 개발용어 8 (API, 마이그레이션) (0) | 2021.05.23 |
알아두면 좋은 개발용어 7 (OAuth 2.0) (0) | 2021.05.23 |