Présentation de Kaisel
Kaisel est une bibliothèque de routage native pour Flutter, conçue pour améliorer la navigation dans les applications. Elle introduit le concept de « routes as values », où les routes sont représentées sous forme de valeurs, ce qui permet une gestion plus efficace de la navigation.
Fonctionnement de Kaisel
Le fonctionnement de Kaisel repose sur l'utilisation de types scellés (sealed types) pour les routes. Cela signifie que lorsque vous ajoutez une nouvelle route, le compilateur peut identifier automatiquement tous les endroits où cette route doit être gérée, éliminant ainsi les erreurs de « route inconnue » au moment de l'exécution. De plus, l'historique de navigation est représenté sous forme d'une liste d'objets de route, ce qui permet des opérations de pile (push, pop, set) testables sans arbre de widgets et restaurables même en cas de mort du processus.
Un autre avantage de Kaisel est qu'il n'utilise pas de code généré (codegen) et ne nécessite pas l'utilisation de build_runner ou de fichiers générés. Les routes sont simplement des classes Dart standard que les développeurs connaissent déjà.
Avantages et limites de Kaisel
Kaisel offre une approche plus élégante et maintenable de la navigation dans les applications Flutter. Grâce à son mécanisme d'observation unique, il peut détecter tous les changements de navigation, y compris les commutations d'onglets et les changements adaptatifs in-place qui ne produisent pas d'événement de route dans d'autres routeurs.
class MaRoute { ... }
Cependant, comme pour toute nouvelle technologie, il est important de considérer les limites et les cas d'utilisation spécifiques avant d'adopter Kaisel dans un projet. La documentation fournie sur le site officiel de Kaisel propose une section « Learn » pour une prise en main plus approfondie et une section « Migrate » pour faciliter la migration depuis d'autres solutions de routage.