28/02/2013

¿Qué es un kit de desarrollo de software (SDK)?

¿Qué es un kit de desarrollo de software (SDK)?

Cuando se desarrolla una aplicación (para dispositivos móviles o de escritorio), es importante contar con herramientas adecuadas que nos asistan durante el proceso para ahorrar tiempo y esfuerzo sin descuidar la calidad del resultado final. Si solo nos valiéramos de un lenguaje de programación, un editor, un compilador y nuestra propia capacidad de resolución de problemas, deberíamos invertir demasiado tiempo en funciones que podrían ser elementales.

Un SDK (Software Development Kit), o kit de desarrollo de software, es un conjunto de herramientas que ayudan a la programación de aplicaciones para un entorno tecnológico particular. Es decir, las aplicaciones desarrolladas sobre el SDK estarán destinadas a algún sistema operativo, plataforma hardware, consola de videojuegos o paquete de software en especial. Son muchos los recursos que puede contener un SDK. Detallemos algunos de ellos:

  • Una interfaz de programación de aplicaciones (API). Puede verse como una abstracción del funcionamiento interno del entorno sobre el que vamos a trabajar. Se trata de un conjunto de funciones, rutinas, estructuras de datos, clases y variables que nos permiten manipular el mecanismo de la plataforma sin conocerlo internamente.
  • Un entorno de desarrollo integrado (IDE). Un editor que nos ayuda a escribir fácilmente el código fuente del programa. Generalmente, también brinda una interfaz amigable para dos aplicaciones fundamentales:
    • Debugger. Permite testear el programa en cada paso de su ejecución.
    • Compilador.  Traduce el código fuente a lenguaje de máquina, obteniendo así un programa ejecutable.
  • Código de ejemplo y otra documentación. Como punto de partida para empezar a desarrollar aplicaciones.
  • Un emulador del entorno. Por ejemplo, si desarrollamos una aplicación para móviles desde una computadora de escritorio, nos permite saber cómo la vería el usuario final.

Actualmente, plataformas como los sistemas operativos Android, iOS y Windows Phone ofrecen kits para desarrollar software que funcione sobre sus entornos, y muchas redes sociales tienen SDK específicos para desarrollar todo tipo de aplicaciones en diferentes lenguajes.

0

angularjs Aplicaciones en Facebook aplicaciones mobile behavioral targeting Botones Call-to-action breadcrumbs breadcrumbs web búsqueda de personal búsqueda facetada Call-to-action buttons Client-side cliente-destacado cms a medida coding comercio electrónico content marketing CSS3 PIE cuanto debe pesar un sitio data-driven web design Datos estructurados Defacement Denegación de servicio Desarrollar una aplicación web desventajas de PhoneGap diseñar newsletters diseño web diseño web argentina diseño web esqueuomórfico Diseño web responsive Diseño web responsivo diseño web santa fe diseño web Smart TV diseño web televisores DOM desde PHP enlaces rotos filtros de búsqueda flash flat web design formularios sitio web fragmentos enriquecidos función de autocompletar futuro de la realidad aumentada html HTML5 html5shiv inbound marketing Initializr interfaces Web para televisores javascript jobs jQuery Mobile Mapbox maquetado html/css maquetador web masonry layout menú de navegación menú desplegable Metodologías ágiles Modernizr MVC Navegación por teclado oferta laboral OpenStreetMap paginas de Facebook Paper js Paper js framework personas Phishing plan de QA Polyfills polymer portfolio-destacados portfolio-inicio programacion de CMS Programadores WordPress página de contacto página de error 404 que es Backbone.js Realidad aumentada Resultados instantáneos server-side skeuomorphic design sliders y usabilidad soporte Internet Explorer Storytelling Underscores usabilidad usabilidad buscadores user-centered design ux velocidad de carga web Vendor prefixes ventajas jQuery Mobile Ventanas integradas versiones antiguas de Internet Explorer WAI-ARIA web components web imprimible Web Semántica WordPress para ecommerce