DEV Community

Zamir Narro 🇵🇪
Zamir Narro 🇵🇪

Posted on

¿Qué son API's? (para dummies)

Todos en algún punto hemos escuchado a los programadores hablar sobre las API's. Quizá oíste a alguien decir que "usaría la API de Twitter" para algún proyecto, o tal vez algún experimentado colega quiere "crear una API" por su cuenta.

En mi caso, la primera vez que lo escuché surgieron muchas incógnitas en mi cabeza y, como siempre, acudí al Dr. Google: "API definición":

La interfaz de programación de aplicaciones, conocida también por la sigla API, en inglés, application programming interface, es un conjunto de subrutinas, funciones y procedimientos (o métodos, en la programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción...

Si tu cara fue la misma que la mía, entonces entiendes el motivo por el que escribo esto. No es tan malo como la Wikipedia lo hace parecer.

Este video logra una gran explicación del tema y pone el ejemplo del cliente en un restaurante:

  • El cliente tiene en frente la carta de platos.
  • La cocina es la parte del sistema que preparará el platillo.
  • El mesero es el nexo entre ambos. Recibe la orden del cliente, la comunica a la cocina y devuelve el plato listo a la mesa del cliente.

El mesero viene a ser la API y un concepto importante es el de "interfaz". Una interfaz es una capa de abstracción que permite al usuario interactuar con algún sistema, quitándole la carga de conocer la complejidad que hay detrás de su funcionamiento. En el caso del ejemplo, el mesero cumple este rol pues el cliente puede obtener su comida sin siquiera conocer cómo se prepara el "canelón tibio de manitas de cerdo con parmentier trufada y encurtidos" que pidió.

Para aterrizar el tema al plano tecnológico, tenemos los siguientes ejemplos:

  1. Cuando planeas unas vacaciones y buscas por el mejor precio del boleto en un sitio de viajes online, éste se está comunicando con las diversas API's de las aerolíneas, quienes consultan en sus respectivas bases de datos y devuelven la información sobre asientos disponibles y precios para que tú puedas elegir.

  2. Los desarrolladores de una app móvil "Foticat" no tienen que preocuparse por cuestiones de tan bajo nivel como configurar una conexión Wi-Fi o por cómo comunicarse con los sensores del dispositivo (acelerómetro, GPS...). El sistema operativo del dispositivo ya provee a los developers las API's necesarias para simplificar estas operaciones, de manera que la app puede "simplemente" efectuar sus solicitudes a la API en cuestión para, por ejemplo, obtener acceso a la cámara del dispositivo ("¿Permitir a Foticat acceder directamente a la cámara para tomar fotos o videos?"... ¿te suena el mensaje? API's everywhere).

En sencillo, una API es el mensajero que permite la comunicación o interacción entre aplicaciones (en general, todo tipo de software), data y dispositivos. O sea... ¡es la base de la conectividad!

Top comments (3)

Collapse
 
duxtech profile image
Cristian Fernando

Muy buen ejemplo! Continua redactando por favor, saludos desde La Paz-Bolivia

Collapse
 
cescquintero profile image
Francisco Quintero 🇨🇴

Otro buen ejemplo es un control remoto. Puedes cambiar de canales, subir y bajar volumen y no necesitas saber lo que pasa dentro del mismo para hacer lo que necesitas: usar el TV.

Que buen artículo!

Collapse
 
develawyer profile image
Zamir Narro 🇵🇪

Tienes razón, Francisco, ese también es un buen ejemplo! Gracias, espero te haya sido de ayuda!