Un Software Development Kit (SDK), es un conjunto de herramientas proporcionadas (en la mayoría de los casos) por el fabricante de un software, hardware o sistema operativo. 



El objetivo de la creación de los SDK, es poder facilitar a los desarrolladores las herramientas para la creación de aplicaciones compatibles con la plataforma, sistema o hardware en cuestión. Estas herramientas incluyen depuradores, compiladores, bibliotecas de código o rutinas y subrutinas dirigidas a un sistema operativo. 

 Los componentes básicos de un SDK típico incluyen lo siguiente:

  • Depurador: un depurador permite a los desarrolladores identificar y corregir errores en el código del programa.
  • Compilador: un compilador es un programa que procesa declaraciones de lenguaje de programación y las traduce a un lenguaje comprensible para la máquina o "código" utilizado por el procesador.
  • Muestras de código: revelan tareas o escenarios de programación que brindan una imagen más clara de una aplicación o página web.
  • Rutinas y subrutinas: una rutina o subrutina es un método, función, procedimiento, subprograma o código que se puede llamar y ejecutar en cualquier parte del código del programa completo. Por ejemplo, la opción de guardar archivo se ejecuta a través de una rutina.
  • Biblioteca de código: una biblioteca de código permite a los desarrolladores utilizar recursos existentes (por ejemplo, secuencias de código) en lugar de re-crearlos.
  • Herramientas analíticas y de prueba: estas herramientas califican el rendimiento de la aplicación en un entorno de prueba y producción.
  • Documentación: los desarrolladores consultan las instrucciones documentadas (según sea necesario) durante el proceso de desarrollo.