30 de marzo de 2012

API, SDK & IDE

Ingeniería de Dispositivos Móviles
Laboratorio: Publicación 2
En muchas ocasiones estos tres términos son confundidos, inclusive para algunos estos tres son lo mismo, lo cual no es así, por lo más que se puedan llegar a relacionar, son cosas con diferencias significativas y vamos a ver que es cada una de estas tres.

API


Las sigla API proviene del inglés Application Programming Interface, que al español lo traducimos como Interfaz de Programación de Aplicaciones. Una API es un conjunto de funciones y procedimientos que nos ofrece una biblioteca o librería para ser utilizada como capa de abstracción, donde el programador hace uso de ellas para desarrollar una nueva aplicación con los recursos que la API nos ofrece.

La interfaz de programación es una herramienta excelente para lograr comunicar directamente con los componentes del software del sistema operativo, que a la vez estos pueden hacer uso del hardware disponible en el dispositivo. Se trata del conjunto de llamadas a ciertas bibliotecas que ofrecen acceso a ciertos servicios desde los procesos y representa un método para conseguir abstracción en la programación, generalmente entre los niveles o capas inferiores y los superiores del software.

Uno de los principales propósitos de una API consiste en proporcionar un conjunto de funciones de uso general, por ejemplo, para dibujar ventanas o iconos en la pantalla. De esta forma, los programadores se benefician de las ventajas de la API haciendo uso de su funcionalidad, evitándose el trabajo de programar todo desde el principio.

AL elegir una cierta API hay que tomar en cuenta que se debe llegar a un cierto equilibrio entre la potencia, simplicidad y pérdida de flexibilidad.


Imagen de la página de la API de Blogger, para la obtención de información mediante JSON.

SDK


Es generalmente un conjunto de herramientas de desarrollo de software que le permite al programador crear aplicaciones para un sistema concreto, por ejemplo ciertos paquetes de software, frameworks, plataformas de hardware, computadoras, videoconsolas, sistemas operativos y más.

Un programador suele recibir el SDK del desarrollador del sistema para el que se está escribiendo el programa. Incluso, a veces el SDK puede descargarse de Internet. De hecho, muchos SDKs se distribuyen gratuitamente para animar a los desarrolladores a usar el sistema o el lenguaje.


La imagen muestra el panel de descarga para los paquetes de las diferentes versiones de SDK para la plataforma de Android.

IDE


El entorno de desarrollo integrado, IDE, es un programa informático compuesto por un conjunto de herramientas de programación. Puede dedicarse en exclusiva a un solo lenguaje de programación o bien poder utilizarse para varios.

Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación, es decir, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica.

Los IDE proveen un marco de trabajo amigable para la mayoría de los lenguajes de programación tales como C++, PHP, Python, Java, C#, Delphi, Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecución, en donde se permite utilizar el lenguaje de programación en forma interactiva, sin necesidad de trabajo orientado a archivos de texto.

Los componentes que distinguen a un IDE son:
  • Editor de texto
  • Compilador
  • Intérprete
  • Depurador
  • Uso de clientes
  • Un sistema de control de versiones
  • Factibilidad para ayuda en la construcción de interfaces gráficas de usuario

Eclipse como ejemplo de IDE, y que nos permite crear un puente de este con la SDK de Android para poder crear y ejecutar aplicaciones desde esta interfaz.

Conclusiones


Una API es una interfaz con la que es posible acceder a recursos brindados por un sistema mayor, como en el caso de la API de Blogger, te dan métodos para obtener el flujo de datos directo de sus servidores, y este no depende de un lenguaje en específico de programación para obtenerlo, ya que se puede hacer uso de esta API desde PHP, Java, Go, JavaScript o Python.

El SDK en cambio suele estar creado para un lenguaje en particular, ejemplo de ello el SDK de Facebook disponible en PHP y JavaScript, y con el se pueden hacer uso módulos o funciones para tareas específicas que sean parte de un nuevo programa.

Y el IDE es una plataforma completa, comúnmente con interfaz gráfica que nos permite escribir código, diseñar aplicaciones, compilar, depurar, ejecutar y con gran secciones de ayuda. Eclipse es un buen ejemplo de ello, por ser el que en esta materia estamos usando la mayoría, y uno que también llegamos a usar fue el DevC++.

Bibliografía
Diferencia API y SDK
SDK
IDE

1 comentario:

Nota: solo los miembros de este blog pueden publicar comentarios.