소프트웨어 개발 키트
소프트웨어 개발 키트(software development kit, SDK)는 소프트웨어를 개발하기 위한 소프트웨어 개발 도구들을 하나의 설치 가능한 패키지로 모아 놓은 것이다. 여기에는 컴파일러, 디버거 및 때때로 소프트웨어 프레임워크가 포함되어 애플리케이션 생성을 용이하게 한다. 이것들은 일반적으로 하드웨어 플랫폼 및 운영 체제 조합에 따라 다르다. 광고, 푸시 알림 등과 같은 고급 기능을 갖춘 애플리케이션을 만들려면 대부분의 응용 소프트웨어 개발자는 특정 소프트웨어 개발 키트를 사용한다.
일부 SDK는 플랫폼별 앱 개발에 필요하다. 예를 들어, 자바 플랫폼에서 안드로이드 앱을 개발하려면 자바 개발 키트가 필요하다. iOS 애플리케이션(앱)에는 iOS SDK가 필요하다. 유니버설 윈도우 플랫폼에는 .NET 프레임워크 SDK가 사용될 수 있다. 또한 추가 기능을 추가하고 앱에 설치하여 분석, 애플리케이션 활동에 대한 데이터 및 수익화 옵션을 제공할 수 있는 SDK도 있다. 이러한 유형의 SDK의 주요 제작자로는 구글, 스마토, 인모비, 페이스북이 있다.
상세
SDK는 특정 프로그래밍 언어와 인터페이스하거나 코틀린 (프로그래밍 언어)과 같은 SDK 기반 언어를 안드로이드 개발에 사용하는 데 사용되는 재사용 가능한 함수의 온디바이스 라이브러리 형태의 응용 프로그래밍 인터페이스[1] 형태를 취할 수 있거나, 특정 임베디드 시스템과 통신할 수 있는 하드웨어별 도구만큼 복잡할 수 있다.[2] 일반적인 도구에는 디버깅 기능과 기타 유틸리티가 포함되며, 종종 통합 개발 환경으로 제공된다.[3] SDK에는 샘플 소프트웨어 및 기술 노트와 함께 설명서, 기본 참조 자료에서 설명하는 요점을 명확히 하는 데 도움이 되는 튜토리얼이 포함될 수 있다.[4][5]
SDK에는 종종 호환되지 않는 라이선스 하에 개발될 소프트웨어를 구축하는 데 부적합하게 만드는 라이선스가 포함된다. 예를 들어, 독점 SDK는 일반적으로 자유 소프트웨어 개발과 호환되지 않으며, GNU 일반 공중 사용 허가서에 따라 라이선스된 SDK는 법적인 이유로 독점 소프트웨어 개발과 호환되지 않을 수 있다.[6][7] 그러나 GNU 약소 일반 공중 사용 허가서 하에 구축된 SDK는 일반적으로 독점 개발에 사용할 수 있다.[8][9] 기본 기술이 새로운 경우, SDK에 하드웨어가 포함될 수 있다. 예를 들어, 에어태그(AirTag)의 2012년 근거리 무선 통신 SDK에는 필요한 하드웨어 스택의 결제 및 판독 부분이 모두 포함되었다.[10]
평균 안드로이드 모바일 앱은 15.6개의 개별 SDK를 구현하며, 게임 앱은 평균 17.5개의 다른 SDK를 구현한다.[11][12] 안드로이드 모바일 앱에 가장 인기 있는 SDK 범주는 분석 및 광고이다.[12]
SDK는 안전하지 않을 수 있다 (앱 내에서 구현되지만 별도의 코드를 실행하기 때문이다). 악성 SDK(선의로든 아니든)는 사용자의 데이터 프라이버시를 침해하고, 앱 성능을 손상시키거나, 심지어 앱이 구글 플레이 또는 앱 스토어에서 금지될 수도 있다.[13] 새로운 기술은 앱 개발자가 클라이언트 SDK를 실시간으로 제어하고 모니터링할 수 있도록 한다.
특정 시스템 또는 서브시스템용 SDK 공급자는 때때로 소프트웨어 대신 더 구체적인 용어를 사용한다. 예를 들어, 마이크로소프트[14]와 Citrix[15]는 모두 장치 드라이버 개발을 위한 드라이버 개발 키트를 제공한다.
예시
다양한 플랫폼을 위한 소프트웨어 개발 키트의 예시는 다음과 같다:
- 아미가OS NDK
- 안드로이드 NDK
- iOS SDK
- 자바 개발 키트
- 자바 웹 서비스 개발 팩
- 마이크로소프트 윈도우 SDK
- VaxTele SIP 서버 SDK
- Visage SDK
- Vuforia
- 윈도우 앱 SDK
- 엑스박스 개발 키트
같이 보기
- 게임 개발 키트
- 위젯 툴킷
각주
- ↑ Sandoval, K. (2016년 6월 2일). “What is the Difference Between an API and an SDK?”. 《Nordic APIs Blog》. Nordic APIs AB. 2022년 5월 4일에 원본 문서에서 보존된 문서. 2018년 7월 5일에 확인함.
- ↑ Benso, A.; Chiusano, S.; Prinetto, P. (2000). 〈A software development kit for dependable applications in embedded systems〉. 《Proceedings International Test Conference 2000 (IEEE Cat. No.00CH37159)》. 170–8쪽. doi:10.1109/TEST.2000.894204. ISBN 0-7803-6546-1. S2CID 206679243.
- ↑ Burd, B. (2015). 《Android Application Development All-in-One For Dummies》. John Wiley & Sons. 31쪽. ISBN 9781118973806.
- ↑ Asif, S.Z. (2011). 《Next Generation Mobile Communications Ecosystem: Technology Management for Mobile Communications》. John Wiley & Sons. PT384쪽. ISBN 9781119995814.
- ↑ Vaughan-Nichols, S.J. (2013년 1월 4일). “No, Google is not making the Android SDK proprietary. What's the fuss about?”. 《ZDNet》. CBS Interactive. 2017년 7월 25일에 원본 문서에서 보존된 문서. 2018년 7월 5일에 확인함.
- ↑ Orland, K. (2017년 7월 20일). “Sony's legal quest to remove its leaked developer's kit from the Web”. 《ArsTechnica》. Condé Nast. 2018년 7월 5일에 확인함.
- ↑ Davidson, S.J. (2004). “A Primer on Open Source Software for Business People and Lawyers”. Leonard, Street and Deinard. 2020년 2월 7일에 원본 문서에서 보존된 문서. 2018년 7월 5일에 확인함.
- ↑ “OPEN SOURCE AND COMMERCIAL SOFTWARE : AN IN-DEPTH ANALYSIS OF THE ISSUES” (PDF). 《wipo.int》. 2025년 5월 28일에 원본 문서 (PDF)에서 보존된 문서. 2025년 5월 15일에 확인함.
- ↑ “Airtag releasing NFC mobile payments developer kit, wishes Apple would help simply the ecosystem”. 《VentureBeat》. 2012년 10월 16일. 2022년 1월 21일에 원본 문서에서 보존된 문서. 2020년 4월 25일에 확인함.
- ↑ Shoavi, Orly. “The All-Star Winners of Mobile App Tools (SDKs)”. 《SafeDK》. 2017년 12월 16일에 원본 문서에서 보존된 문서. 2016년 11월 23일에 확인함.
- ↑ 가 나 Lishi, He. “All iOS and Android 3rd Platform SDKs”. 《Fork.ai》. 2024년 9월 17일에 원본 문서에서 보존된 문서. 2024년 9월 7일에 확인함.
- ↑ Perez, Sarah (2015년 10월 19일). “Hundreds Of Apps Banned From App Store For Accessing Users' Personal Information”. 《TechCrunch》. 2017년 12월 3일에 원본 문서에서 보존된 문서. 2016년 9월 28일에 확인함.
- ↑ “Windows Driver Kit documentation”. 《Hardware Dev Center》. Microsoft. 2019년 12월 17일에 원본 문서에서 보존된 문서. 2018년 7월 5일에 확인함.
- ↑ “Driver Development Kit - For XenServer 6.2.0 Service Pack 1 with Hotfix XS62ESP1062”. Citrix Systems, Inc. 2017년 6월 27일. 2022년 1월 21일에 원본 문서에서 보존된 문서. 2018년 7월 5일에 확인함.
- 위키데이터 속성 P18을 사용하는 문서
- 위키데이터 속성 P41을 사용하는 문서
- 위키데이터 속성 P94를 사용하는 문서
- 위키데이터 속성 P117을 사용하는 문서
- 위키데이터 속성 P154를 사용하는 문서
- 위키데이터 속성 P213을 사용하는 문서
- 위키데이터 속성 P227을 사용하는 문서
- 위키데이터 속성 P242를 사용하는 문서
- 위키데이터 속성 P244를 사용하는 문서
- 위키데이터 속성 P245를 사용하는 문서
- 위키데이터 속성 P268을 사용하는 문서
- 위키데이터 속성 P269를 사용하는 문서
- 위키데이터 속성 P271을 사용하는 문서
- 위키데이터 속성 P347을 사용하는 문서
- 위키데이터 속성 P349를 사용하는 문서
- 위키데이터 속성 P350을 사용하는 문서
- 위키데이터 속성 P373을 사용하는 문서
- 위키데이터 속성 P380을 사용하는 문서
- 위키데이터 속성 P396을 사용하는 문서
- 위키데이터 속성 P409를 사용하는 문서
- 위키데이터 속성 P428을 사용하는 문서
- 위키데이터 속성 P434를 사용하는 문서
- 위키데이터 속성 P435를 사용하는 문서
- 위키데이터 속성 P436을 사용하는 문서
- 위키데이터 속성 P454를 사용하는 문서
- 위키데이터 속성 P496을 사용하는 문서
- 위키데이터 속성 P549를 사용하는 문서
- 위키데이터 속성 P650을 사용하는 문서
- 위키데이터 속성 P651을 사용하는 문서
- 위키데이터 속성 P691을 사용하는 문서
- 위키데이터 속성 P716을 사용하는 문서
- 위키데이터 속성 P781을 사용하는 문서
- 위키데이터 속성 P791을 사용하는 문서
- 위키데이터 속성 P864를 사용하는 문서
- 위키데이터 속성 P865를 사용하는 문서
- 위키데이터 속성 P886을 사용하는 문서
- 위키데이터 속성 P902를 사용하는 문서
- 위키데이터 속성 P906을 사용하는 문서
- 위키데이터 속성 P947을 사용하는 문서
- 위키데이터 속성 P950을 사용하는 문서
- 위키데이터 속성 P966을 사용하는 문서
- 위키데이터 속성 P982를 사용하는 문서
- 위키데이터 속성 P1003을 사용하는 문서
- 위키데이터 속성 P1004를 사용하는 문서
- 위키데이터 속성 P1005를 사용하는 문서
- 위키데이터 속성 P1006을 사용하는 문서
- 위키데이터 속성 P1015를 사용하는 문서
- 위키데이터 속성 P1045를 사용하는 문서
- 위키데이터 속성 P1048을 사용하는 문서
- 위키데이터 속성 P1053을 사용하는 문서
- 위키데이터 속성 P1146을 사용하는 문서
- 위키데이터 속성 P1153을 사용하는 문서
- 위키데이터 속성 P1157을 사용하는 문서
- 위키데이터 속성 P1186을 사용하는 문서
- 위키데이터 속성 P1225를 사용하는 문서
- 위키데이터 속성 P1248을 사용하는 문서
- 위키데이터 속성 P1273을 사용하는 문서
- 위키데이터 속성 P1315를 사용하는 문서
- 위키데이터 속성 P1323을 사용하는 문서
- 위키데이터 속성 P1330을 사용하는 문서
- 위키데이터 속성 P1362를 사용하는 문서
- 위키데이터 속성 P1368을 사용하는 문서
- 위키데이터 속성 P1375를 사용하는 문서
- 위키데이터 속성 P1407을 사용하는 문서
- 위키데이터 속성 P1556을 사용하는 문서
- 위키데이터 속성 P1584를 사용하는 문서
- 위키데이터 속성 P1695를 사용하는 문서
- 위키데이터 속성 P1707을 사용하는 문서
- 위키데이터 속성 P1736을 사용하는 문서
- 위키데이터 속성 P1886을 사용하는 문서
- 위키데이터 속성 P1890을 사용하는 문서
- 위키데이터 속성 P1907을 사용하는 문서
- 위키데이터 속성 P1908을 사용하는 문서
- 위키데이터 속성 P1960을 사용하는 문서
- 위키데이터 속성 P1986을 사용하는 문서
- 위키데이터 속성 P2041을 사용하는 문서
- 위키데이터 속성 P2163을 사용하는 문서
- 위키데이터 속성 P2174를 사용하는 문서
- 위키데이터 속성 P2268을 사용하는 문서
- 위키데이터 속성 P2349를 사용하는 문서
- 위키데이터 속성 P2418을 사용하는 문서
- 위키데이터 속성 P2456을 사용하는 문서
- 위키데이터 속성 P2484를 사용하는 문서
- 위키데이터 속성 P2558을 사용하는 문서
- 위키데이터 속성 P2750을 사용하는 문서
- 위키데이터 속성 P2980을 사용하는 문서
- 위키데이터 속성 P3223을 사용하는 문서
- 위키데이터 속성 P3233을 사용하는 문서
- 위키데이터 속성 P3348을 사용하는 문서
- 위키데이터 속성 P3372를 사용하는 문서
- 위키데이터 속성 P3407을 사용하는 문서
- 위키데이터 속성 P3430을 사용하는 문서
- 위키데이터 속성 P3544를 사용하는 문서
- 위키데이터 속성 P3562를 사용하는 문서
- 위키데이터 속성 P3563을 사용하는 문서
- 위키데이터 속성 P3601을 사용하는 문서
- 위키데이터 속성 P3723을 사용하는 문서
- 위키데이터 속성 P3788을 사용하는 문서
- 위키데이터 속성 P3829를 사용하는 문서
- 위키데이터 속성 P3863을 사용하는 문서
- 위키데이터 속성 P3920을 사용하는 문서
- 위키데이터 속성 P3993을 사용하는 문서
- 위키데이터 속성 P4038을 사용하는 문서
- 위키데이터 속성 P4055를 사용하는 문서
- 위키데이터 속성 P4114를 사용하는 문서
- 위키데이터 속성 P4143을 사용하는 문서
- 위키데이터 속성 P4186을 사용하는 문서
- 위키데이터 속성 P4423을 사용하는 문서
- 위키데이터 속성 P4457을 사용하는 문서
- 위키데이터 속성 P4534를 사용하는 문서
- 위키데이터 속성 P4535를 사용하는 문서
- 위키데이터 속성 P4581을 사용하는 문서
- 위키데이터 속성 P4613을 사용하는 문서
- 위키데이터 속성 P4955를 사용하는 문서
- 위키데이터 속성 P5034를 사용하는 문서
- 위키데이터 속성 P5226을 사용하는 문서
- 위키데이터 속성 P5288을 사용하는 문서
- 위키데이터 속성 P5302를 사용하는 문서
- 위키데이터 속성 P5321을 사용하는 문서
- 위키데이터 속성 P5368을 사용하는 문서
- 위키데이터 속성 P5504를 사용하는 문서
- 위키데이터 속성 P5587을 사용하는 문서
- 위키데이터 속성 P5736을 사용하는 문서
- 위키데이터 속성 P5818을 사용하는 문서
- 위키데이터 속성 P6213을 사용하는 문서
- 위키데이터 속성 P6734를 사용하는 문서
- 위키데이터 속성 P6792를 사용하는 문서
- 위키데이터 속성 P6804를 사용하는 문서
- 위키데이터 속성 P6829를 사용하는 문서
- 위키데이터 속성 P7293을 사용하는 문서
- 위키데이터 속성 P7303을 사용하는 문서
- 위키데이터 속성 P7314를 사용하는 문서
- 위키데이터 속성 P7902를 사용하는 문서
- 위키데이터 속성 P8034를 사용하는 문서
- 위키데이터 속성 P8189를 사용하는 문서
- 위키데이터 속성 P8381을 사용하는 문서
- 위키데이터 속성 P8671을 사용하는 문서
- 위키데이터 속성 P8980을 사용하는 문서
- 위키데이터 속성 P9070을 사용하는 문서
- 위키데이터 속성 P9692를 사용하는 문서
- 위키데이터 속성 P9725를 사용하는 문서
- 위키데이터 속성 P9984를 사용하는 문서
- 위키데이터 속성 P10020을 사용하는 문서
- 위키데이터 속성 P10299를 사용하는 문서
- 위키데이터 속성 P10608을 사용하는 문서
- 위키데이터 속성 P10832를 사용하는 문서
- 위키데이터 속성 P11249를 사용하는 문서
- 위키데이터 속성 P11646을 사용하는 문서
- 위키데이터 속성 P11729를 사용하는 문서
- 위키데이터 속성 P12204를 사용하는 문서
- 위키데이터 속성 P12362를 사용하는 문서
- 위키데이터 속성 P12754를 사용하는 문서
- 위키데이터 속성 P13049를 사용하는 문서
- 소프트웨어 개발 키트
- 소프트웨어 개발
- 라이브러리