[IT 용어] SDK(소프트웨어 개발 키트, Software Development Kit)
소프트웨어 개발 키트(Software Development Kit, SDK)는 (일반적으로) 하드웨어 플랫폼, 운영 체제(Operating System, OS) 또는 프로그래밍 언어 제작사가 제공하는 일련의 툴입니다.
SDK를 사용해야 하는 이유
소프트웨어 개발자는 SDK를 활용하여 특정 플랫폼, 시스템 또는 프로그래밍 언어에 따라 애플리케이션을 개발할 수 있습니다. 이를 직접 조립할 수 있는 옷장에 포함되어 있는 도구 키트라고 생각하시면 쉬울 것 같습니다. SDK는 애플리케이션 개발에 사용된다는 것만 다를 뿐입니다. 작업 완료에 필요한 요소 또는 개발 툴은 제공되지만 키트에 포함된 내용물은 제작사마다 다릅니다.
일반적으로 기본 SDK에는 컴파일러, 디버거, 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API)가 포함되지만, 다음 중 한 가지도 포함될 수 있습니다.
- 설명서
- 라이브러리
- 편집기
- 런타임/개발 환경
- 테스트/분석 툴
- 드라이버
- 네트워크 프로토콜
양질의 SDK라면 개발자가 특정 제품 및 에코시스템을 위한 새로운 애플리케이션을 개발할 때 필요할 수 있는 모든 구성 요소를 제공할 것입니다. 일부 SDK에는 개발자가 최대한 빨리 시작할 수 있도록 예시 또는 기본 테스트 프로젝트도 포함되어 있습니다.
소프트웨어 개발 키트의 몇 가지 예로 Java 개발 키트(Java Development Kit, JDK), Windows 7 SDK, MacOS X SDK, iPhone SDK를 들 수 있습니다. 구체적인 예를 들자면, 쿠버네티스 오퍼레이터 SDK는 개발자가 자기만의 쿠버네티스 오퍼레이터를 개발하는 데 도움이 됩니다. 이 SDK에는 상위 수준의 API, 스캐폴딩 및 코드 생성용 툴, 그리고 공통된 오퍼레이터 활용 사례를 포괄하는 확장 기능이 포함되어 있습니다.
https://www.redhat.com/ko/topics/cloud-native-apps/what-is-SDK