¿Cómo explicar el funcionamiento de una API?
Hace ya algún tiempo explicábamos el funcionamiento de un VPS recurriendo a la metáfora de una granja. Esta vez, vamos a hacer algo parecido para que entender qué es una API. Una palabra que es muy probable que hayas oído muchas veces, aunque no logres entender de qué se trata.
Antes de nada, podríamos decir que un desarrollo web se compone de dos partes. Por un lado, está el desarrollo del lado del servidor o back-end y, por el otro, el desarrollo del lado del cliente o front-end. El primero hace referencia al código y la programación de un proyecto y, el segundo, a la estética de la web. Aunque ambos permiten que cuando realizas una búsqueda en internet, se muestre la web que estabas buscando y que puedas interactuar con su diseño, en vez de lidiar su código.
Desarrollo para el usuario
En este proceso de desarrollo y búsqueda en internet intervienen, en líneas muy generales, tres agentes que, llevados a la metáfora, puede explicarse de la siguiente manera:
- Desarrollo (back-end). Sería como una huerta, un lugar en el que están disponibles diferentes recursos que nosotros hemos producido a disposición de quienes los soliciten. En nuestra huerta, en vez de verduras u hortalizas, hay páginas web, bases de datos y todo tipo de archivos almacenados para que cuando alguien los solicite se muestren. Generalmente, en forma de página web, tienda online o aplicación.
- Buscador (front-end). Nuestro buscador sería nuestra tienda. Un establecimiento en el que vendemos cada uno de nuestros productos directamente a nuestros clientes. Es decir, el lugar al que un usuario acude para buscar una web: Google, la considerada puerta a internet.
- Usuario final. La persona que acude a nuestro establecimiento para realizar una compra. En nuestro caso: quien recurre a un buscador para acceder a nuestra página web.
Pero también podemos vender a nuestros usuarios productos que no hemos producido nosotros mismos. Podemos ejercer como distribuidores y hacer llegar al usuario final los productos que hemos comprado a diferentes productores. Y es aquí donde entran en juego las APIs.
¿Qué es una API?
API es el acrónimo de Application Programming Interface, un conjunto de subrutinas, funciones y procedimientos de algunas bibliotecas de programación. Gracias a ellas, diferentes componentes de software son capaces de comunicarse entre sí y es posible agilizar los desarrollos. Las API facilitan que al programar una web puedan implementarse procedimientos y funciones ya desarrolladas, en vez de tener que programar desde cero cada uno de ellos.
Es como si, en vez de ser productores de todos los productos que vendemos, se los compramos a un tercero. En este caso, los agentes que intervienen en el proceso son diferentes:
- API. Como ya no somos productores de los productos que vendemos, tenemos que comprárselos a un agricultor. Nuestro proveedor nos facilitaría diferentes funciones y procedimientos que mejorarán y agilizarán el desarrollo de nuestro proyecto para que se los hagamos llegar al usuario.
- Desarrollo (back-end). Ya no producimos, pero sí distribuimos los productos que adquirimos. Así, nuestro desarrollo es el lugar en el que vendemos los productos que hemos comprado. Es nuestra página web o tienda online que, para ofrecer más funcionalidades, recurre a diferentes APIs que han sido desarrolladas por otros y puestas a nuestra disposición.
- Usuario final. El consumidor de los productos que vendemos que, aunque no sabe de dónde provienen los productos, los consume. En nuestro caso, sería el visitante de nuestra web que navega por ella sin saber de dónde provienen cada una de las líneas de código con las que interactúa.
Para qué sirve una API
La principal función de una API es facilitar y agilizar la programación a otros desarrolladores. Pero, además, sirve para probar el funcionamiento de desarrollos propios en un gran número de sujetos. Puede que una API sea usada por unos pocos desarrolladores, pero pueden hacerles llegar ese desarrollo a un gran número de gente. Aunque, como sucede al adquirir un producto en un supermercado, no sepamos de dónde viene.
Una API es una forma de estructurar recursos para que otros los usen en su back-end que puede tener múltiples funciones. Desde campos de búsqueda dentro de una web, a procesos de compra o herramientas que faciliten a nuestros usuarios saber dónde está nuestra empresa.
La mayor parte de las APIs han sido puestas a prueba en diferentes entornos para demostrar su seguridad. Aun así, al igual que ocurre con otros aspectos de la tecnología, las APIs deben actualizarse y estar en un proceso de innovación constante. De lo contrario, los usuarios dejarán de utilizarlas por estar obsoletas o ser inseguras.