0%
Navigation et routes

Navigation

Empiler des écrans, transmettre des données, récupérer un résultat

15-20 min

Navigation et routes

Une application à un seul écran n'existe pas. Dès qu'il y a une liste, il y a un détail ; dès qu'il y a un détail, il y a un bouton retour, un geste de balayage sur iOS, une touche matérielle sur Android, et la question de savoir ce qu'il reste en mémoire pendant ce temps.

Flutter modélise cela comme une pile. L'écran visible est celui du sommet ; empiler en ajoute un par-dessus, dépiler le retire et révèle le précédent. Le Navigator, fourni gratuitement par MaterialApp, tient cette pile, anime les transitions selon les conventions de la plateforme, et branche le bouton retour matériel. Le modèle est simple, et c'est précisément pour cela qu'il faut comprendre ses limites avant de choisir un outil plus élaboré.

Le sujet est aussi celui où l'on prend les mauvaises habitudes les plus coûteuses : des routes nommées avec des arguments non typés que le compilateur ne vérifie pas, une pile qui grandit indéfiniment parce qu'on empile un écran de connexion au lieu de le remplacer, un context utilisé après un await alors que l'écran a déjà disparu. Nous traiterons les trois.

Commentaires

Les commentaires sont alimentés par GitHub Discussions

Connectez-vous avec GitHub pour participer à la discussion

Lien copié !