Término del glosario

Kit de desarrollo de software (SDK)

Para tu comodidad, tradujimos esta página mediante traducción automática. No podemos garantizar la precisión ni la confiabilidad del contenido traducido. Si tienes alguna duda sobre la precisión del contenido traducido, consulta la versión oficial en inglés de la página web.

¿Qué es un SDK?

SDK significa kit de desarrollo de software. Se trata de un conjunto de bibliotecas de código, herramientas y documentación que permite a un desarrollador añadir un servicio o tecnología específicos a su aplicación sin tener que crearla desde cero.

En los juegos para móviles, un SDK es, con mayor frecuencia, la forma en que un estudio conecta su juego a una plataforma externa. Por ejemplo, la integración del SDK de Unity Ads conecta un juego con la red publicitaria de Unity y sus herramientas de mediación de anuncios , lo que permite a los desarrolladores controlar cuándo, dónde y cómo aparecen los anuncios sin tener que escribir ellos mismos esa infraestructura.

Los SDK específicos de cada plataforma, como el Android SDK y el SDK de iOS, funcionan de la misma manera para sus respectivos ecosistemas.

¿Cómo funciona un SDK?

La mayoría de los SDK agrupan los mismos componentes básicos:

  • Una biblioteca de código preescrito que gestiona la funcionalidad subyacente.
  • Una API que define cómo el código del desarrollador se comunica con esa biblioteca.
  • Documentación que explica cómo usarlo.
  • Herramientas de prueba o depuración.

Un desarrollador importa el SDK a su proyecto y llama a sus funciones en lugar de crear esa funcionalidad desde cero. El SDK gestiona la comunicación subyacente con cualquier servicio al que se conecte, ya sea una red publicitaria, un procesador de pagos o una plataforma de análisis , por lo que el desarrollador no tiene que crear ni mantener esa conexión por sí mismo.

¿Dónde se utilizan los SDK en el desarrollo de videojuegos?

En el desarrollo de videojuegos, los SDK son la forma en que un estudio agrega funcionalidades que no desea desarrollar por sí mismo.

El SDK de Unity Ads funciona de esta manera, conectando un juego a la red publicitaria y las herramientas de mediación de Unity con una única integración, y la guía de integración del SDK de Unity explica paso a paso la configuración de un proyecto de Unity .

Uken Games describió las dificultades que enfrentaban con lo que denominaron una "cinta de correr de SDK" por parte de socios publicitarios anteriores, que implicaba trabajo de integración personalizada para cada nuevo SDK. Cambiar a Unity Ads redujo ese proceso a una sola casilla de verificación y unas pocas líneas de código.

Otras categorías comunes de SDK en juegos para móviles incluyen análisis, atribución y procesamiento de pagos, cada una de las cuales permite a un estudio agregar una funcionalidad sin tener que desarrollarla y mantenerla internamente.

SDK vs. API

Los términos SDK y API se suelen usar indistintamente, pero no son lo mismo.

Qué es
SDK
El conjunto completo de herramientas construido alrededor de una plataforma
API
Las reglas sobre cómo se comunican dos programas informáticos
Qué incluye
SDK
Bibliotecas de código, documentación y, a menudo, herramientas de prueba, generalmente construidas en torno a una o más API.
API
Un conjunto definido de reglas de comunicación, sin un conjunto de herramientas asociado.
Cómo se utiliza
SDK
Instalado por un desarrollador para compilar con una plataforma.
API
Llamado por el código para intercambiar datos o activar funcionalidades.

La mayoría de los SDK incluyen una o más API en su interior, pero una API por sí sola no es un SDK.

¿Cuáles son los beneficios de usar SDKs?

  • Construye más rápido: El código y las herramientas predefinidas permiten que un desarrollador no tenga que escribir y probar la misma integración desde cero.
  • Obtén asistencia y documentación: La mayoría de los SDK incluyen documentación de referencia, código de ejemplo y una ruta de actualización mantenida, no solo código sin procesar.
  • Mantén la coherencia con la plataforma: un SDK es creado y mantenido por la plataforma a la que se conecta, por lo que es más probable que siga funcionando a medida que esa plataforma cambia que una integración totalmente personalizada.

¿Cuáles son los desafíos del uso de SDK?

  • Agrega una dependencia: Un proyecto que depende de un SDK depende de que ese proveedor lo mantenga actualizado, seguro y compatible con futuras actualizaciones.
  • Puede aumentar el tamaño de la aplicación y el tiempo de carga: La inclusión de varios SDK aumenta el tamaño total del archivo de un juego y puede ralentizar el rendimiento si no se gestiona con cuidado.
  • Riesgo de versión y compatibilidad: Una actualización del SDK, o una actualización del OS para la que no fue diseñado, puede provocar fallos en la funcionalidad hasta que se actualice la propia integración.

Preguntas frecuentes

¿Son gratuitos todos los SDK?

No. Algunos SDK son gratuitos y de código abierto, lo que significa que el código está disponible públicamente y se puede modificar. Otros son de código cerrado y requieren una licencia o una cuenta con el proveedor. La elección entre una u otra opción suele depender de lo que ofrece la plataforma que respalda el SDK, no de una regla general.

¿Cómo integro un SDK en un proyecto de Unity ?

Los pasos exactos dependen del SDK, pero la integración generalmente implica importar el paquete del SDK a un proyecto, inicializarlo con una ID o clave específica del proyecto y llamar a sus funciones donde se necesite esa funcionalidad. Consulte la sección de integración del SDK para obtener información sobre el proceso general, y la guía de integración del SDK de Unity para obtener un tutorial específico Unity Ads.

Términos relacionados

Application Programming Interface (API)

Integración de SDK

La integración del SDK es el proceso de importar un archivo de biblioteca, conocido como kit de desarrollo de software, en el proyecto para utilizar las funciones de ese archivo.

Tecnología de juegos

La tecnología de juegos, o gametech, se refiere a soluciones y servicios dedicados que se utilizan a lo largo del ciclo de vida de un juego y se crean especialmente con el propósito de desarrollar juegos.