¿Qué es una API y para qué sirve?

¿Qué es una API y para qué sirve?

Una API (Application Programming Interface o Interfaz de Programación de Aplicaciones) es un conjunto de procedimientos o funciones que están diseñadas con la finalidad de ser utilizadas a traves de otro programa.

Las APIs representan el modo más factible de conectar dos programas entre sí para el intercambio de mensajes y datos, y hacer uso de funciones ya existentes en otro programa (o de la infraestructura ya existente en otras plataformas).

Cada vez que "accedemos o utilizamos" una API, estamos reutilizando o invocando código almacenado que otra persona previamente programó y almacenó en dicha API, con la finalidad de facilitar la implementación de estas funciones.

Cada API está diseñada en un lenguaje de programación concreto y contienen unas especificaciones distintas que la definen (las APIs pueden incluir especificaciones para estructuras de datos y rutinas, clases de objetos o variables, a partir de las cuales se basa el uso de esa interfaz). Además, suele ser habitual que cada una de ellas disponga de documentación completa y eficaz (un conjunto de tutoriales, manuales y reglas de buenas prácticas para esa interfaz de programación).

Para entender mejor esta definición y en que consiste una API vamos a poner un ejemplo sencillo.

Imagina que vas a hacer una página web y en ella quieres permitir que los usuarios envíen su localización y la muestren en Google Maps. Para ello necesitarías incorporar a tu sitio web la API de Google Maps y asi poder invocar ciertas funciones que utilizarías del mapa.

Tendrías que (por ejemplo) incorporar la API y llamar el método ObtenerLocalizacion() cada vez que el usuario presione un botón. Este método no lo crearías tu, seria propio la API de Google Maps y tu solo tendrías que invocarlo en tu aplicación.

Tipos de APIs


SOAP (Simple Object Access Protocol)

Es un protocolo estándar que define como dos objetos, en diferentes procesos, pueden comunicarse por medio de intercambio de datos XML.

REST (Tranferenci de Estdo Representacional)

Es una forma sencilla de evitar y recibir datos entre el cliente y el servidor y que no dispone de muchos estándares. Puede enviar y recibir datos como JSON, XML o incluso texto sin formato.