0%
API y red

API y red

Llamar a un servidor sin congelar la interfaz ni ignorar los fallos

15-20 min

API y red

Hasta ahora, todos nuestros datos estaban escritos en el código. Una aplicación real consulta un servidor, y este simple cambio introduce una dificultad de otra naturaleza: la red es lenta y falible. Una petición tarda entre treinta milisegundos y treinta segundos. Puede fallar porque el teléfono está en un túnel, porque el servidor se está reiniciando, porque el certificado ha caducado o porque el usuario ha cerrado la pantalla mientras tanto.

La interfaz de Flutter se ejecuta en un único hilo. Todo lo que bloquea ese hilo bloquea la pantalla: se acabaron las animaciones, el desplazamiento y la respuesta al tacto. Pasados unos segundos, el sistema operativo propone cerrar la aplicación. Esto significa que una llamada de red nunca puede ser síncrona, y que el código debe gestionar explícitamente tres estados en lugar de uno: carga, éxito y fallo. El tercero es el que se olvida, y es el que provoca las malas valoraciones en las tiendas de aplicaciones.

Esta lección construye una capa de red completa y honesta: un modelo de datos serializable, un servicio aislado, la conversión de los errores en mensajes comprensibles y la visualización de los tres estados. Empezaremos deliberadamente por la versión que congela la aplicación, porque entender por qué se congela vale más que recitar async.

Comentarios

Los comentarios funcionan con GitHub Discussions

Inicia sesión con GitHub para participar en la discusión

¡Enlace copiado!