Navigator 2.0 aka Router 2.0

router2
AAAAHHH JE VAIS ARRETER DE DIRE LE ROUTER 2.0 !!!

Bon désolé @mbritto mais ton craquage sur YT m’a trop fait rire… en plus tu n’as pas coupé ça au montage !
Flutter Navigtor 2.0 : la revanche du router
La vidéo reste intéressante même si je n’ai pas encore attaqué le dev Flutter.

Sinon j’avais quand même une question sérieuse à propos de ce Navigator 2.0 :
est-ce qu’on peut comparer son fonctionnement au framework php Symfony ?
je parle de la partie routage : un nom de routage = un URL, il y a une table de routage dans un fichier, et à partir de vues on peut utiliser les routes pour pointer vers une methode d’un controller.
Au quel cas je ne serait pas trop surpris par la complexité de cette gestion de navigation.

2 « J'aime »

Ah ah, j’avoue j’ai craqué sur celle-là :joy:
C’était une des premières vidéos YouTube où je l’enregistrait du premier coup! Pas d’hésitations, pas de réflexion en amont, j’ai juste posé la caméra, cliqué sur « Enregistrer » et en avant guingamp. Et j’étais trop content car je faisais quasiment aucune erreur…sauf ce Router 2.0 :joy:

Au montage j’ai hésité à le couper mais finalement je me suis dit que ça aiderait à se souvenir de la différence :grin:

Alors je ne connais pas du tout symfony mais je pense qu’il doit y avoir certains points communs sans forcément que ce soit le même principe.
Ce Navigator 2.0 utilise le style déclaratif pour choisir les écrans à afficher. Il n’y a pas de table de routage mais une fonction qui doit retourner une liste d’écrans à afficher et cette fonction est rappelée à chaque fois que l’état change.
On a besoin de 3 classes pour le navigator 2.0 :

  • Une classe qui stocke l’état et cette fameuse fonction qui construit les écrans
  • Une classe qui symbolise l’état sous la forme de variables simples
  • Une classe qui fait la correspondance entre l’état et l’URL à afficher.

J’ai prévu de faire des vidéos sur ce sujet où je l’expliquerai en détails :wink:

1 « J'aime »

Je crois que tu t’es trompé, c’est Router 2.0 et non Navigator 2.0 :stuck_out_tongue_winking_eye::rofl:

2 « J'aime »