소프트웨어 개발 도구
내위키
Software Development Kit.
줄여서 SDK라고 쓰며, 주로 이 이름으로 많이 쓰인다.
소프트웨어 개발에 필요한 컴파일러[1] 또는 인터프리터, 라이브러리, 디버거와 같이 소프트웨어 개발에 필요한 각종 소프트웨어와 문서 자료를 한데 묶어서 제공하는 것. 소프트웨어를 실행시키기 위해 가상머신과 같은 런타임 플랫폼을 필요로 하는 경우에는 이것도 포함된다.
만약 완전한 소프트웨어를 개발할 수 있는 라이브러리나 문서는 들어 있지만 실행이나 빌드 도구는 없다면 이는 SDK보다는 프레임워크에 가깝다. 예를 들어 스프링 프레임워크는 자바 컴파일러를 포함하고 있지 않다.
API하고도 비교되는데, API는 응용소프트웨어 개발에 필요한 프로그래밍의 인터페이스만을 제공한다. 예를 들어 윈도우 API라면 윈도우 운영체제에서 굴러가는 응용프로그램을 만들기 위한 인터페이스, 즉 윈도우가 제공하는 어떤 기능을 불러다 쓰려면 어떤 함수를 불러야 하고 전달해야 할 매개변수는 뭐고 반환값이나 오류값은 무엇인지를 정해 놓은 일종의 규약이라 할 수 있다. 실제로 소프트웨어를 개발할 때에는 덜렁 API만 있으면 부족하고 소프트웨어 빌드에 필요한 도구를 포함한 SDK를 제공하는 게 보통이다.