Aller au contenu principal

2.1 - Navigation 🧭

Avant la séance

Lisez la documentation officielle sur navigation et routing.

Flutter recommande 2 options pour la navigation :

  • Navigator (simple 🎃)
    • Navigation par pile simple
    • Impossible de gérer des urls
  • Router (avancé 🥨)
    • Gère les URL (ex : /user/profile)
    • Supporte le Deep Linking
    • Gère les redirections

Pour les exercices et pour votre TP, vous aurez à choisir l'une de ces 2 options.

Regardez le code du projet navigation qui compare la navigation avec Navigator et celle avec Router.

  1. Exécutez l'application et regardez la suite de TODO a.
  2. Changez la propriété useNavigator à true dans le fichier app_config.dart .
  3. Réexécutez l'application et regardez la suite de TODO b en comparant avec les TODO a.
Séance
  • On discutera du concept de pile de navigation et des opérations push et pop.
  • On regardera les avantages et inconvénients des routes nommées ou pas dans un contexte mobile ou web.
  • On discutera des avantages et des inconvénients de passer des objets complexes ou uniquement des identifiants entre les écrans de notre application.
  • On regardera le comportement du Scaffold quand on ajoute un drawer.

Complétez les exercices suivants :