Kit de desarrollo de software

Un kit de desarrollo de software (en inglés: software development kit o SDK) es generalmente un conjunto de herramientas de desarrollo de software que permite a los programadores crear una aplicación informática para un sistema concreto, por ejemplo ciertos paquetes de software, entornos de trabajo, plataformas de hardware, computadoras, videoconsolas, sistemas operativos, etcétera.

Es algo tan sencillo como una interfaz de programación de aplicaciones o API (del inglés application programing interface) creada para permitir el uso de cierto lenguaje de programación, o puede, también, incluir hardware sofisticado para comunicarse con un determinado sistema embebido. Las herramientas de desarrollo de software más comunes incluyen soporte para la detección de errores de programación como un entorno de desarrollo integrado (IDE, por sus siglas en inglés) y otras utilidades. Los SDK frecuentemente también incluyen códigos de ejemplo y notas técnicas de soporte u otra documentación de soporte para ayudar a clarificar ciertos puntos del material de referencia primario.

Incompatibilidad de licencias

Los SDK pueden incluir licencia de software que los hacen incompatibles para crear software que se pretenda hacer para una licencia no compatible. Por ejemplo: un SDK propietario probablemente será incompatible para el desarrollo de software libre. Y un SDK bajo la licencia GPL posiblemente será incompatible con el desarrollo de software propietario. Sin embargo, los bajo la licencia LGPL suelen ser seguros para el desarrollo de software propietario.

SDK para complementos

Un SDK para un complemento (add-on en inglés) de un determinado sistema operativo (p. ej. QuickTime para Mac OS) puede incluir también el software añadido en sí para ser usado para el desarrollo pero no necesariamente para la redistribución. Una situación interesante surge aquí entre plataformas donde es posible desarrollar aplicaciones que pueden iniciar la configuración de un sistema sin que esté instalado el complemento, y usar una rutina de petición de entorno de tipo Gestalt (de Mac OS) para determinar si dicho complemento está instalado, y otros donde la aplicación simplemente fallará al iniciarse. En otras palabras, es posible construir un único binario que funcione en configuraciones donde el complemento esté presente o no, con una funcionalidad reducida en este último caso.

Componentes físicos

Si bien la mayoría de SDKs consisten exclusivamente de texto (los programas, sus licencias, instrucciones, etc.), en ciertas ocasiones han también incluido hardware, especialmente cuando este no se encuentra ampliamente difundido. El primer SDK para comunicaciones de campo cercano (NFC), y que fue publicado por AirTag en 2008, por ejemplo, incluyó las ambas mitades que son físicamente necesarias para transmitir y recibir.[1][2]

Términos más específicos

Los proveedores de SDK para ciertos sistemas o subsistemas pueden utilizar un término más específico que el de "software". Por ejemplo, tanto Microsoft como Apple proveen kits de desarrollo de controladores (DDK, del inglés driver development kit) para crear controladores para sus dispositivos, y PalmSource distribuye su propio kit de desarrollo como el Palm OS Development Kit (PDK).

Ejemplos

Referencias

  1. https://www.francemobiles.com/actualites/airtag-lance-une-solution-de-developpement-sans-contact-et-nfc-4855.html
  2. «NFC Kit Launched to Spur Application Development». RFID Update (en inglés) (RFID Journal). 1 de octubre de 2008. Consultado el 25 de abril de 2020. «The AIRTAG KIT includes a reader, four types of standardized tags, a software library and documentation [...] AIRTAG claims it's kit is the first ».
  3. http://dev.live.com/virtualearth/sdk/
  4. Java 2 Software Development Kit.
  5. «Copia archivada». Archivado desde el original el 26 de enero de 2016. Consultado el 9 de enero de 2016.

Véase también

Enlaces externos

Este artículo ha sido escrito por Wikipedia. El texto está disponible bajo la licencia Creative Commons - Atribución - CompartirIgual. Pueden aplicarse cláusulas adicionales a los archivos multimedia.