0%
Navegación y rutas

Navegación

Apilar pantallas, transmitir datos, recuperar un resultado

15-20 min

Navegación y rutas

Una aplicación de una sola pantalla no existe. En cuanto hay una lista, hay un detalle; en cuanto hay un detalle, hay un botón de retroceso, un gesto de deslizamiento en iOS, una tecla física en Android, y la cuestión de qué queda en memoria mientras tanto.

Flutter modela esto como una pila. La pantalla visible es la de la cima; apilar añade una encima, desapilar la retira y deja ver la anterior. El Navigator, proporcionado gratuitamente por MaterialApp, mantiene esta pila, anima las transiciones según las convenciones de la plataforma y conecta el botón de retroceso físico. El modelo es simple, y precisamente por eso conviene entender sus límites antes de elegir una herramienta más elaborada.

El tema es también aquel en el que se adquieren los malos hábitos más costosos: rutas con nombre con argumentos sin tipar que el compilador no verifica, una pila que crece indefinidamente porque se apila una pantalla de inicio de sesión en lugar de reemplazarla, un context usado después de un await cuando la pantalla ya ha desaparecido. Trataremos los tres.

Comentarios

Los comentarios funcionan con GitHub Discussions

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

¡Enlace copiado!