Contenido del curso

APIs móviles: solo expón lo necesario

Resumen

Diseñar una API para aplicaciones móviles no es lo mismo que diseñarla para web. Aquí aprendes qué es una API desde la perspectiva mobile, por qué debe exponer solo lo necesario y cómo acordar su contrato con el equipo de backend para que tu app sea rápida y eficiente.

Qué es una API mobile y por qué se diseña distinto

Una API mobile es la puerta de entrada por la que tu aplicación pide y recibe información del servidor. La diferencia con otros entornos está en las restricciones del dispositivo: procesadores pequeños, batería limitada y tiempo del usuario que no puedes desperdiciar.

Desde mobile, cada dato extra que recibes te obliga a procesarlo, filtrarlo o descartarlo. Y ese trabajo silencioso consume batería y suma segundos a la experiencia. Por eso la regla base es clara: la API solo debe exponer la funcionalidad necesaria.

¿Qué es una API mobile? Es una interfaz que conecta tu app con un servidor remoto y le entrega únicamente los datos que la aplicación va a usar, optimizada para no agotar batería ni saturar el procesador del dispositivo.

Por qué la API debe exponer solo lo necesario

Cuando la API te devuelve más datos de los que tu pantalla va a mostrar, tú terminas haciendo el trabajo sucio en el cliente. Y ese sobreprocesamiento se traduce en lentitud visible para el usuario.

Hay un patrón muy común que conviene evitar: llamar a una API, recibir datos, llamar a otra, recibir más datos, llamar a una tercera y armar el resultado en el dispositivo. Cada salto suma latencia y obliga a manejar hilos en background solo para encadenar peticiones.

La solución es delegar esa orquestación al backend. Tú le dices al equipo qué datos finales necesitas en pantalla y ellos se encargan de unir las fuentes antes de responderte. Una sola llamada, un solo payload, cero reproceso del lado mobile.

Cómo validar el contrato de una API con el equipo de backend

Los contratos de uso de una API remota deben ser validados por quienes la van a consumir. Si backend define la API en solitario, lo más probable es que termines recibiendo campos que no usas o que tengas que reprocesar respuestas para encajarlas en tu interfaz.

Involucrarte desde el diseño cambia el resultado. Cristian cuenta que en sus primeros trabajos no participaba en la construcción de las APIs y le tocó crear aplicaciones superlentas sin saber explicar por qué. Cuando volvió a hacer el proceso junto con el equipo de backend, lograron bajar uno o dos segundos en los llamados al servidor [02:50].

Qué acordar antes de escribir código

Antes de cerrar el contrato de la API, conviene alinear estos puntos con backend:

  • Qué campos exactos necesita la pantalla y cuáles sobran.
  • Si una sola petición puede reemplazar varias llamadas encadenadas.
  • Cómo se nombran los endpoints para que sean descriptivos.
  • Qué query params se usan para filtrar o pedir detalle.

Este acuerdo evita que tú, desde mobile, tengas que crear hilos en background solo para juntar piezas que el servidor podía entregar ya unidas.

Cómo se ve una API mobile bien estructurada

Un buen ejemplo es la API de cursos de Platzi. Para obtener el listado completo, el endpoint es api.platzi.com/cursos, descriptivo y directo. Para pedir el detalle de un curso específico se usa api.platzi.com/cursos/detail?id=2512, donde el signo de interrogación abre un query param con la llave id y el valor que identifica al curso.

¿Qué es un query param? Es un parámetro que se envía en la URL después del signo de interrogación, con formato llave=valor, y sirve para filtrar o especificar qué información quieres recibir.

Esta estructura es legible, predecible y permite a quien consume la API entender en segundos qué hace cada ruta sin abrir documentación extensa.

Tips clave para diseñar APIs en aplicaciones móviles

Estos son los principios que vale la pena tener presentes cada vez que participes en el diseño de una API mobile:

  1. La API solo debe contener la información necesaria para la pantalla que la consume.
  2. Evita que el cliente reprocese datos que el backend puede entregar listos.
  3. Reemplaza cadenas de llamadas por un único endpoint que consolide la respuesta.
  4. Nombra los recursos de forma descriptiva, como /cursos o /cursos/detail.
  5. Usa query params para filtros o detalles puntuales, no para sustituir lógica del servidor.

Después de aplicar estos tips, el efecto se nota en métricas reales: menos consumo de batería, llamadas más cortas y una app que responde sin que el usuario sienta esperas.

¿Te ha pasado que recibes una API con campos de más y terminas filtrándolos en el cliente? Cuéntame en los comentarios cómo lo resolviste con tu equipo de backend.