stringtranslate.com

Kit de desarrollo de software

Un kit de desarrollo de software ( SDK ) es una colección de herramientas de desarrollo de software en un paquete instalable. Facilitan la creación de aplicaciones al tener un compilador, un depurador y en ocasiones un framework de software . Normalmente son específicos de una combinación de plataforma de hardware y sistema operativo. Para crear aplicaciones con funcionalidades avanzadas como anuncios, notificaciones push, etc; la mayoría de los desarrolladores de software de aplicaciones utilizan kits de desarrollo de software específicos.

Se requieren algunos SDK para desarrollar una aplicación específica de una plataforma. Por ejemplo, el desarrollo de una aplicación de Android en la plataforma Java requiere un kit de desarrollo de Java. Para aplicaciones (apps) de iOS se requiere. Para la Plataforma universal de Windows, se puede utilizar el SDK de .NET Framework. También hay SDK que agregan funciones adicionales y se pueden instalar en aplicaciones para proporcionar análisis, datos sobre la actividad de las aplicaciones y opciones de monetización. Algunos creadores destacados de este tipo de SDK incluyen Google, Smaato, InMobi y Facebook.

Detalles

Un SDK puede tomar la forma de interfaces de programación de aplicaciones (API) [1] en forma de bibliotecas de funciones reutilizables en el dispositivo 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 (IDE). [3] Los SDK pueden incluir software de muestra y/o notas técnicas junto con documentación y tutoriales para ayudar a aclarar los puntos planteados en el material de referencia principal. [4] [5]

Los SDK a menudo incluyen licencias que los hacen inadecuados para crear software destinado a desarrollarse bajo una licencia incompatible. Por ejemplo, un SDK propietario es generalmente incompatible con el desarrollo de software libre , mientras que un SDK con licencia GPL podría ser incompatible con el desarrollo de software propietario, por razones legales. [6] [7] Sin embargo, los SDK creados bajo la Licencia pública general reducida (LGPL) de GNU suelen utilizarse para desarrollo propietario. [8] En los casos en que la tecnología subyacente sea nueva, los SDK pueden incluir hardware. Por ejemplo, el SDK NFC 2021 de AirTag incluía la mitad de pago y la de lectura de la pila de hardware necesaria. [9]

La aplicación móvil Android promedio implementa 15,6 SDK separados, y las aplicaciones de juegos implementan en promedio 17,5 SDK diferentes. [10] Las categorías de SDK más populares para aplicaciones móviles de Android son análisis y publicidad. [10]

Los SDK pueden ser inseguros (porque se implementan dentro de aplicaciones pero ejecutan código separado). Los SDK maliciosos (con intenciones honestas o no) pueden violar la privacidad de los datos de los usuarios , dañar el rendimiento de las aplicaciones o incluso provocar que se prohíban aplicaciones en Google Play o App Store . [11] 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 el término software por un término más específico . Por ejemplo, tanto Microsoft [12] como Citrix [13] proporcionan un kit de desarrollo de controladores (DDK) para desarrollar controladores de dispositivos .

Ejemplos

Ejemplos de kits de desarrollo de software para diversas plataformas incluyen:

Ver también

Referencias

  1. ^ Sandoval, K. (2 de junio de 2016). "¿Cuál es la diferencia entre una API y un SDK?". Blog de API nórdicas . API nórdicas AB . Consultado el 5 de julio de 2018 .
  2. ^ Benso, A.; Chiusano, S.; Prinetto, P. (2000). "Un kit de desarrollo de software para aplicaciones confiables en sistemas integrados". Actas de la Conferencia Internacional de Pruebas 2000 (IEEE Cat. No.00CH37159) . págs. 170–8. doi :10.1109/TEST.2000.894204. ISBN 0-7803-6546-1. S2CID  206679243.
  3. ^ Burd, B. (2015). Desarrollo de aplicaciones Android todo en uno para principiantes. John Wiley e hijos. pag. 31.ISBN 9781118973806.
  4. ^ Asif, SZ (2011). Ecosistema de comunicaciones móviles de próxima generación: gestión de tecnología para comunicaciones móviles. John Wiley e hijos. pag. PT384. ISBN 9781119995814.
  5. ^ Withee, K. (2011). Desarrollo de SharePoint 2010 para principiantes. John Wiley e hijos. pag. PT346. ISBN 9781118038628.
  6. ^ Vaughan-Nichols, SJ (4 de enero de 2013). "No, Google no va a hacer que el SDK de Android sea propietario. ¿A qué se debe este alboroto?". ZDNet . CBS interactivo . Consultado el 5 de julio de 2018 .
  7. ^ Orland, K. (20 de julio de 2017). "La búsqueda legal de Sony para eliminar de la Web su kit de desarrollador filtrado". ArsTechnica . Conde Nast . Consultado el 5 de julio de 2018 .
  8. ^ Davidson, SJ (2004). "Introducción al software de código abierto para empresarios y abogados". Leonard, Street y Deinard . Consultado el 5 de julio de 2018 .
  9. ^ "Airtag lanza el kit para desarrolladores de pagos móviles NFC y desea que Apple ayude a simplificar el ecosistema". 16 de octubre de 2012.
  10. ^ ab Shoavi, Orly. "Los ganadores estelares de las herramientas de aplicaciones móviles (SDK)". SeguroDK .
  11. ^ Pérez, Sarah (19 de octubre de 2015). "Cientos de aplicaciones prohibidas en la App Store para acceder a la información personal de los usuarios". TechCrunch .
  12. ^ "Documentación del kit de controladores de Windows". Centro de desarrollo de hardware . Microsoft . Consultado el 5 de julio de 2018 .
  13. ^ "Kit de desarrollo de controladores: para XenServer 6.2.0 Service Pack 1 con revisión XS62ESP1062". Citrix Systems, Inc. 27 de junio de 2017 . Consultado el 5 de julio de 2018 .