API: la ventanilla donde las apps se hablan
¿Como sabe el tiempo una app del clima? No mira el cielo ella misma. Le pregunta a otro lugar que tiene el clima. Pero a diferencia de una persona que lee una pagina web, las apps intercambian solo datos limpios en un formato fijo. Esa ventanilla acordada es la API.
Una pantalla para personas, una ventanilla para apps
Antes aprendimos que al enviar una peticion,
vuelve una respuesta.
La respuesta que recibe una persona suele ser una pagina web.
Tiene texto, imagenes y botones.
Linda para el ojo humano,
pero demasiado enredada para que una app la use.
Por eso, entre apps, en vez de una pantalla,
intercambian datos que pueden usar de inmediato.
Esa ventanilla acordada se llama API.
Toca la pantalla para personas y la ventanilla para apps para comparar. ¿Cual le sirve mejor a una app?
La misma informacion puede verse distinta.
A las personas les da una pantalla arreglada para verse bien,
a las apps les da datos sin nada de relleno.
La pantalla esta hecha para que la lea una persona,
la ventanilla esta hecha para que la lea una app.
Entonces, ¿como le habla una app
a esa ventanilla?
A continuacion vemos como hacer una peticion.
Pedir en un formato fijo
No puedes decirle cualquier cosa a la ventanilla.
Debes preguntar en el formato fijado de antemano.
Por ejemplo, una peticion acordada como
"dime el clima de Seul."
Es como leer un menu en un restaurante
y pedir por los nombres establecidos.
Cuando el pedido es la frase acordada,
la cocina lo hace al instante sin confundirse.
Una API tambien entiende solo peticiones acordadas.
Toca una peticion acordada para enviarla a la API. Al ser un formato fijo, la ventanilla entiende enseguida.
Ya enviada la peticion,
es hora de una respuesta.
En vez de una pantalla enviada a una persona,
¿con que responde la API?
Para que una app la use de inmediato,
responde con datos ordenados con prolijidad.
Como se ven esos datos
lo desplegamos en el siguiente paso.
Responde con datos, no con una imagen
La respuesta de una API no es una imagen.
Es un dato donde los nombres van con valores.
Por ejemplo temperatura es 23,
cielo es despejado, asi.
El nombre deja claro que es cada valor.
Esta forma de escribir nombres con valores
se suele llamar JSON.
La app elige solo los valores que necesita
de este dato y los usa en su propia pantalla.
Toca para desplegar el dato. No una imagen sino nombres y valores limpios (temperatura 23, soleado).
Como cada valor tiene un nombre,
la app no se confunde.
Si necesita la temperatura, toma la temperatura,
si necesita el clima, toma el clima.
Una imagen habria que descifrarla,
pero un dato se usa de inmediato.
Y no hay solo una ventanilla asi.
Una de clima, una de mapa, hay muchas.
Entonces, ¿que pasa si combinamos dos o mas?
Combinar ventanillas para crear un nuevo servicio
Cada ventanilla hace solo una cosa.
La ventanilla de mapa te dice la ubicacion,
la de clima te dice el clima.
Pero, ¿y si juntamos las dos?
Aparece un nuevo servicio que muestra
el clima de un lugar justo sobre el mapa.
Como encajar bloques,
reunimos varias ventanillas para hacer algo mas grande.
Las apps que usamos se hacen asi.
Toca la API de mapa y la API de clima por turnos para combinarlas. Unidas, hacen un nuevo servicio que muestra el clima en el mapa.
Cuando los datos de las dos ventanillas se encontraron,
aparecio algo que ninguna podia sola.
No hace falta construir mapa ni clima desde cero,
solo tomamos prestadas ventanillas existentes y las unimos.
Asi un nuevo servicio se hace rapido.
En vez de tallar la rueda otra vez,
tomamos piezas bien hechas y las usamos.
Asi cambio el mundo la API.
Resumamos
Reunido en una linea, es esto.
Las personas miran pantallas, pero las apps intercambian datos.
Esa ventanilla acordada es la API.
Pide en un formato fijo
y responde con datos de nombres y valores, no una imagen.
Combina varias ventanillas y aparece un nuevo servicio.
Asi no hay que construir todo desde cero,
podemos tomar prestadas ventanillas existentes para hacer cosas nuevas.
Toca los puntos clave en orden para repasar. (ventanilla para apps → pedir en formato fijo → responder con datos → combinar en un nuevo servicio)
Ahora sabes como las apps
intercambian datos entre si.
Detras de una app que puedes ver,
muchas ventanillas trabajan en silencio.
La proxima vez que abras una app del clima,
piensalo un momento.
¿De que ventanilla
saco esa pantalla sus datos?,
podrias preguntarte.