Jump to section

SDK: ¿qué es y para qué sirve?

Copiar URL

Un kit de desarrollo de software (SDK) es un conjunto de herramientas proporcionado usualmente por el fabricante de una plataforma de hardware, un sistema operativo (SO) o un lenguaje de programación.

Los SDK permiten que los desarrolladores de software creen aplicaciones para esa plataforma, ese sistema o ese lenguaje de programación específicos. Imagínelos como un kit de herramientas, algo así como la bolsa de herramientas que se incluye con un mueble para armar por su cuenta, pero aplicado al desarrollo de aplicaciones. De esa manera, usted tiene las piezas fundamentales (es decir, las herramientas de desarrollo) que necesita para llevar a cabo el trabajo. El contenido del kit depende de cada fabricante. 

Por lo general, un SDK básico incluye un compilador, un depurador y varias interfaces de programación de aplicaciones (API), aunque también puede incluir otros elementos:

  • Documentación
  • Bibliotecas
  • Editores
  • Entornos de tiempo de ejecución o desarrollo
  • Herramientas de prueba o análisis
  • Controladores
  • Protocolos de red

Un SDK útil incluye todos los elementos que un desarrollador podría necesitar al momento de crear aplicaciones nuevas para el producto específico y su ecosistema. Algunos SDK también incluyen un ejemplo o proyecto de prueba básico para que los desarrolladores puedan comenzar a trabajar cuanto antes.

Algunos ejemplos de kits de desarrollo de software son el kit de desarrollo de Java (JDK), el SDK de Windows 7, el SDK de MacOS X y el SDK de iPhone. Por ejemplo, con el SDK para el operador de Kubernetes podrá desarrollar su propio operador de Kubernetes. Contiene API avanzadas, herramientas para crear la estructura central y generar código, y extensiones que abarcan los casos de uso frecuentes del operador. 

La mayoría de los SDK incluyen una API para conectar nuevos proyectos o aplicaciones móviles en el plano del texto fuente en la línea de comandos. Generalmente, también incluyen muestras de código para que los desarrolladores cuenten con ejemplos de programas y bibliotecas cuando quieran diseñar programas básicos. Con estos recursos, pueden comenzar a optimizar y desarrollar aplicaciones complejas con mayor facilidad, así como depurarlas y agregar funciones nuevas según sea necesario.

Dado que los desarrolladores pueden demorar un poco en aprender a usar un kit de desarrollo de software nuevo, algunos SDK incluyen documentación sobre el uso de las API, tutoriales, preguntas frecuentes y gráficos de muestra. Por eso, una interfaz de usuario o de programación intuitiva (o documentación más completa) puede motivar a un desarrollador para que opte por utilizar el programa específico de una empresa, en lugar de la alternativa de la competencia.

De la misma forma, un kit de desarrollo de software puede ser una excelente oportunidad para que una empresa presente sus productos a los desarrolladores y los aliente a crear aplicaciones con su plataforma o sistema operativo de forma inmediata y en un entorno integrado. Por este motivo, la mayoría de los SDK pueden usarse sin costo; los desarrolladores solo deben descargarlos y comenzar a programar. 

Es posible que algunos SDK incluyan reglas o acuerdos que se deban aceptar y enviar antes de usar el kit, en especial para productos nuevos en etapa alfa o beta, así como para los sistemas de software con algoritmos que no son de acceso público (no son open source). También pueden estar sujetos a un acuerdo de licencia para que el sistema de software que se cree no se lance bajo una licencia que no sea compatible.

Los desarrolladores deberán tener en cuenta estos detalles cuando elijan con qué SDK comenzarán a trabajar. Por ejemplo:

  • Si el SDK tiene una licencia de propiedad, no es compatible con el desarrollo de software open source.
  • Los SDK que tengan una licencia pública general (GPL) no pueden utilizarse para el desarrollo de aplicaciones sujetas a una licencia de propiedad.
  • Hay algunos aspectos que se deben tener en cuenta al usar una licencia pública general reducida (LGPL) para proyectos con elementos de código sujetos a una licencia de propiedad. 

Tanto los aficionados como los especialistas desarrollan aplicaciones open source todo el tiempo, porque los SDK que utilizan permiten codificar nuevos diseños y ampliaciones de las funciones, que luego se compartirán con el resto de la comunidad. 

Red Hat combina las mejores soluciones, herramientas y servicios en el desarrollo de aplicaciones, y al estilo open source. Ya sea que busque una plataforma para diseñar su aplicación (Red Hat OpenShift), un entorno de tiempo de ejecución donde crearla (Red Hat Runtimes) o un entorno con todas las herramientas necesarias para desarrollar, depurar, probar e implementar aplicaciones, Red Hat tiene la solución para usted.

 

Artículos recomendados

ARTÍCULO

Sistemas con estado y sin estado

El que un sistema tenga estado depende del tiempo durante el cual se registra interacción con él y de la forma en que se debe almacenar esa información.

ARTÍCULO

¿Qué es Quarkus?

Quarkus es una pila de Java propia de Kubernetes que se creó para las compilaciones originales y las máquinas virtuales Java (JVM), la cual permite optimizar esta plataforma especialmente para los contenedores.

ARTÍCULO

¿Qué es la informática sin servidor?

Se trata de un modelo de desarrollo directamente en la nube que posibilita el diseño y la ejecución de aplicaciones sin que sea necesario gestionar servidores.

Más información sobre las aplicaciones desarrolladas en la nube

Productos

Plataforma de aplicaciones empresariales que ofrece servicios probados para lanzar aplicaciones al mercado en la infraestructura que usted escoja.

Contenido adicional

Capacitación

Capacitación gratuita

Developing Cloud-Native Applications with Microservices Architectures