Un kit de desarrollo de software ( SDK ) es un conjunto de herramientas de desarrollo de software en un paquete instalable. Facilitan la creación de aplicaciones al incluir un compilador , un depurador y, en ocasiones, un marco de trabajo de software . Normalmente, son específicos para una plataforma de hardware y un sistema operativo determinados. Para crear aplicaciones con funcionalidades avanzadas, como anuncios , notificaciones push , etc., la mayoría de los desarrolladores de software utilizan kits de desarrollo de software específicos.
Algunos SDK son necesarios para desarrollar aplicaciones específicas para cada plataforma. Por ejemplo, el desarrollo de una aplicación Android en la plataforma Java requiere un Kit de Desarrollo de Java (JDK). Para aplicaciones iOS, se requiere el SDK de iOS . Para la Plataforma Universal de Windows (USP), se puede usar el SDK de .NET Framework . También existen SDK que añaden funciones adicionales y se pueden instalar en las aplicaciones para proporcionar análisis, datos sobre la actividad de la aplicación y opciones de monetización. Algunos creadores destacados de este tipo de SDK son Google , Smaato , InMobi y Facebook .
Detalles
Un SDK puede adoptar la forma de interfaces de programación de aplicaciones [ 1 ] en forma de bibliotecas en el dispositivo de funciones reutilizables utilizadas para interactuar con un lenguaje de programación particular , o puede ser tan complejo como herramientas específicas de hardware que pueden comunicarse con un sistema embebido particular . [ 2 ] Las herramientas comunes incluyen funciones de depuración y otras utilidades , a menudo presentadas en un entorno de desarrollo integrado . [ 3 ] Los SDK pueden incluir software de ejemplo y/o notas técnicas junto con documentación y tutoriales para ayudar a aclarar los puntos mencionados en el material de referencia principal. [ 4 ] [ 5 ]
Los SDK de plataforma pueden distribuirse como múltiples componentes instalables en lugar de como un único paquete monolítico. Por ejemplo, el SDK de Android se compone de varios paquetes necesarios para el desarrollo de aplicaciones, y su sdkmanagerherramienta de línea de comandos permite ver, instalar, actualizar y desinstalar paquetes del SDK. [ 6 ] [ 7 ] El SDK de Windows de Microsoft incluye de forma similar encabezados de plataforma, bibliotecas, metadatos de Windows Runtime y herramientas de compilación para desarrollar aplicaciones de Windows. [ 8 ]
Los SDK suelen incluir licencias que los hacen inadecuados para crear software destinado a ser desarrollado bajo una licencia incompatible. Por ejemplo, un SDK propietario generalmente es incompatible con el desarrollo de software libre , mientras que un SDK con la Licencia Pública General de GNU podría ser incompatible con el desarrollo de software propietario, por razones legales. [ 9 ] [ 10 ] Sin embargo, los SDK creados bajo la Licencia Pública General Reducida de GNU suelen ser utilizables para el desarrollo propietario. [ 11 ] [ 12 ] En los casos en que la tecnología subyacente es nueva, los SDK pueden incluir hardware. Por ejemplo, el SDK de comunicación de campo cercano de AirTag de 2012 incluía tanto la parte de transmisión como la de lectura de la pila de hardware necesaria. [ 13 ]
La aplicación móvil promedio de Android implementa 15,6 SDK diferentes, mientras que las aplicaciones de juegos implementan, en promedio, 17,5 SDK diferentes. [ 14 ] Las categorías de SDK más populares para aplicaciones móviles de Android son análisis y publicidad. [ 14 ]
Los SDK pueden ser inseguros (porque se implementan dentro de las aplicaciones pero ejecutan código independiente). Los SDK maliciosos (con buenas o malas intenciones) pueden violar la privacidad de los datos de los usuarios , dañar el rendimiento de la aplicación o incluso provocar que las aplicaciones sean prohibidas en Google Play o la App Store . [ 15 ] Las nuevas tecnologías permiten a los desarrolladores de aplicaciones controlar y monitorear los SDK de los clientes en tiempo real.
Los proveedores de SDK para sistemas o subsistemas específicos a veces sustituyen un término más específico en lugar de software . Por ejemplo, tanto Microsoft [ 16 ] como Citrix [ 17 ] proporcionan un kit de desarrollo de controladores para desarrollar controladores de dispositivos .
Ejemplos
Algunos ejemplos de kits de desarrollo de software para diversas plataformas son:
Véase también
Referencias
- ↑ Sandoval, K. (2 de junio de 2016). "¿Cuál es la diferencia entre una API y un SDK?" . Blog de Nordic APIs . Nordic APIs AB. Archivado del original el 4 de mayo de 2022 . Recuperado el 5 de julio de 2018 .
- ↑ Benso, A.; Chiusano, S.; Prinetto, P. (2000). "Un kit de desarrollo de software para aplicaciones confiables en sistemas embebidos". Actas de la Conferencia Internacional de Pruebas 2000 (IEEE Cat. No. 00CH37159) . págs. 170–178 . doi : 10.1109/TEST.2000.894204 . ISBN 0-7803-6546-1. S2CID 206679243 .
- ↑ Burd, B. (2015). Desarrollo de aplicaciones Android: Todo en uno para principiantes . John Wiley & Sons. pág. 31. ISBN 9781118973806.
- ↑ Asif, SZ (2011). Ecosistema de comunicaciones móviles de próxima generación: Gestión de tecnología para comunicaciones móviles . John Wiley & Sons. pág. PT384. ISBN 9781119995814.
- ↑ "sdkmanager" . Desarrolladores de Android . Google . Consultado el 22 de junio de 2026 .
- ↑ "Herramientas de línea de comandos" . Desarrolladores de Android . Google . Consultado el 22 de junio de 2026 .
- ↑ "Descripción general del SDK de Windows" . Microsoft Learn . Microsoft. 30 de marzo de 2026. Consultado el 22 de junio de 2026 .
- ↑ Vaughan-Nichols, SJ (4 de enero de 2013). "No, Google no está convirtiendo el SDK de Android en propietario. ¿A qué viene tanto revuelo?" . ZDNet . CBS Interactive. Archivado del original el 25 de julio de 2017. Recuperado el 5 de julio de 2018 .
- ↑ Orland, K. (20 de julio de 2017). "La batalla legal de Sony para eliminar su kit de desarrollo filtrado de la web" . ArsTechnica . Condé Nast . Recuperado el 5 de julio de 2018 .
- ↑ Davidson, SJ (2004). "Introducción al software de código abierto para empresarios y abogados" . Leonard, Street and Deinard. Archivado del original el 7 de febrero de 2020. Recuperado el 5 de julio de 2018 .
- ↑ "SOFTWARE DE CÓDIGO ABIERTO Y COMERCIAL : UN ANÁLISIS EN PROFUNDIDAD DE LOS PROBLEMAS" (PDF) . wipo.int . Archivado (PDF) del original el 28 de mayo de 2025. Consultado el 15 de mayo de 2025 .
- ↑ "Airtag lanza un kit de desarrollo de pagos móviles NFC y desea que Apple ayude a simplificar el ecosistema" . VentureBeat . 16 de octubre de 2012. Archivado del original el 21 de enero de 2022. Consultado el 25 de abril de 2020 .
- 1 2 Shoavi, Orly. "Los ganadores estrella de las herramientas para aplicaciones móviles (SDK)" . SafeDK . Archivado del original el 16 de diciembre de 2017. Recuperado el 23 de noviembre de 2016 .
- ↑ Pérez, Sarah (19 de octubre de 2015). "Cientos de aplicaciones prohibidas en la App Store por acceder a la información personal de los usuarios" . TechCrunch . Archivado del original el 3 de diciembre de 2017. Recuperado el 28 de septiembre de 2016 .
- ↑ "Documentación del kit de controladores de Windows" . Centro de desarrollo de hardware . Microsoft. Archivado del original el 17 de diciembre de 2019. Consultado el 5 de julio de 2018 .
- ↑ "Kit de desarrollo de controladores - Para XenServer 6.2.0 Service Pack 1 con Hotfix XS62ESP1062" . Citrix Systems, Inc. 27 de junio de 2017. Archivado del original el 21 de enero de 2022. Consultado el 5 de julio de 2018 .
- Bibliotecas informáticas
- Desarrollo de software
- Kits de desarrollo de software