user_mobilelogo
  • 025_header_fake_news_2018.jpg
    https://www.viveinternet.es/images/headers/025_header_fake_news_2018.jpg
  • 026_header_gestion_innovacion.jpg
    https://www.viveinternet.es/images/headers/026_header_gestion_innovacion.jpg
  • 024_header_charlas_online_2018.jpg
    https://www.viveinternet.es/images/headers/024_header_charlas_online_2018.jpg
  • 017_header_ojito_con_la_red.jpg
    https://www.viveinternet.es/images/headers/017_header_ojito_con_la_red.jpg
  • 012_header_final_OCTSI.gif
    https://www.viveinternet.es/images/headers/012_header_final_OCTSI.gif

que son las api

Imagen: Pixabay. Parcialmente tratada.

Basta que te muevas un poco cerca del mundo de la programación o del diseño y gestión de webs para que empieces a leer o escuchar el término API. Pero, ¿qué es exactamente?

Qué es una API

Una API es un conjunto de funciones, facilitado por las empresas prestadoras de grandes servicios en Internet o desarrolladoras de plataformas informáticas como los sistemas operativos. Su objetivo consiste en facilitar a los programadores el desarrollo de aplicaciones que pueden hacer uso de las funciones incluidas en la API, sin necesidad de tener que programarlas desde cero.

Así, si queremos desarrollar una aplicación específica para los sistemas operativos Windows, Android o iOS, podemos usar sus APIs para beneficiarnos de determinadas funciones incluidas ya en el sistema operativo.

En esta línea, si quisiéramos que el programa que estamos haciendo para un Smartphone, por ejemplo, detectara la posición del usuario, podemos hacer uso de la función de la API de Android para ello, sin tener que estar desarrollando una específica que nos llevaría mucho esfuerzo poner en marcha y mantener.

Del mismo modo, si estamos desarrollando un programa para Windows, podemos llamar o invocar a funciones de su API. Imaginemos que queremos incorporar ciertos elementos a la interfaz gráfica de nuestro programa, esto es, aquellos elementos que se mostrarán al usuario como apoyo a la presentación de información o para interactuar. La API de la interfaz de usuario de Windows (Windows UI API) incorpora botones, cursores, cajas de diálogo, barras de progreso, menús, barras de desplazamiento, barras de herramientas, etc. Así, si lo que queremos es mostrar la típica ventana de “Aceptar” / “Cancelar”, nos basta con decir en nuestro programa, con el código correspondiente, que deseamos mostrar una ventana de esas características. Lo único que debemos hacer es darle un título a la ventana y, si es necesario, también un texto como, por ejemplo, “Se van a eliminar 8 documentos. ¿Está seguro?”

Nuestro programa mostrará esta ventana al usuario y nosotros lo único que habremos hecho es definir el título para la ventana y el texto que debe mostrarse.

El objetivo es permitirnos centrarnos en la verdadera sustancia de nuestro programa, abstrayéndonos del resto de funciones estructurales, que son facilitadas por la API.

Lo que acaba produciéndose es una comunicación entre el programa que se desarrolla y la API cuyas funciones consume. En nuestro programa habremos simplemente invocado o llamado a una o más funciones de la API que estamos usando, sin apenas habernos preocupado por ellas.

Quién desarrolla y mantiene las APIs

En los casos de ejemplo que hemos usado (Android, Windows e iOS), son Google, Microsoft y Apple respectivamente las empresas encargadas de mantener sus APIs, corrigiendo posibles errores, así como incorporando nuevas funcionalidades para los programadores paulatinamente.

Las APIs pueden incluir muchísimas funciones y, por norma general, muy abundante documentación para facilitar la resolución de dudas a los programadores, así como para indicar las directrices técnicas con las que se debe cumplir para que todo funcione como debe.

Cuando la plataforma para la que queremos desarrollar el programa es considerablemente voluminosa, como un sistema operativo, lo normal es que su titular, como Microsoft en el caso de Windows, haga varias APIs para grupos de funciones específicas. Así, Windows incorpora APIs para comprimir archivos, para intercomunicación entre procesos, para gestión de la memoria, para servicios de acceso remoto, para sincronización, para la interfaz de usuario, etc., cada una de ellas incluyendo, a su vez, una serie de funciones, como hemos indicado.

Las APIs como recurso para la comunicación entre servicios

Sin darnos cuenta muchos de nosotros usamos APIs prácticamente a diario cuando navegamos por Internet, aunque no nos metamos a programar.

Su uso principal en estos escenarios es la comunicación entre servicios. Por ejemplo, cuando vemos el típico mapa de Google Maps en una web, esta web está usando la API de Google Maps para mostrar el mapa embebido o incrustado en ella.

En este caso, el diseñador de la web ha acudido previamente a Google Maps, configurado una serie de parámetros comprensibles y al acceso de cualquier persona y listo. Google le dio el código para incrustar en el lugar de la web en el que quiso que se mostrara el mapa.

Como usuario de esta web de ejemplo, Google nos da recursos como hacer zoom, alejarnos, ver el camino más corto para llegar a un sitio, la distancia y muchas otras funciones. Todo esto lo facilita la API, en respuesta a las acciones que el usuario va realizando con el mapa.

Lo mismo ocurre cuando vemos en una web comentarios de Twitter o de Facebook incrustados en una web y que cambian con mayor o menor frecuencia. ¿Tienen vida propia? No. Lo que hacen es inteorperar con las APIs de Twitter y Facebook respectivamente, para mostrar lo último publicado.

Ya los sabes. Lanzar un tu primer programa puede ser mucho más sencillo de lo que te imaginas.

 

ViveInternet

Referencias:
  • Windows Dev Center
  • How-to Geek