Package selection guidance compiled from public package information, community data, and project usage.
Nuvigator is a routing abstraction for Flutter that enhances the built-in Navigator with additional features and a simplified, declarative way to define navigation routes. It provides a clean, scalable approach to managing app navigation across multiple platforms, including Android, iOS, Web, macOS, Windows, and Linux. By offering a structured router configuration and improved navigation handling, Nuvigator helps developers build complex navigation flows with less boilerplate and greater maintainability.
Use cases
Complex navigation flows
Cross-platform navigation
Modular app architecture
Easy route management
Navigation state persistence
Key features
Declarative route definitions
Multi-platform support
Navigation state management
Extensible router system
Clean separation of concerns
Suitable for
Large-scale Flutter applications
Teams needing consistent navigation patterns
Apps requiring advanced routing logic
Developers seeking reduced navigation boilerplate
Projects targeting multiple platforms
Considerations
Learning curve for new users
Potential overhead in simple apps
Requires understanding of routing concepts
Limited community adoption compared to native Navigator
May need custom setup for advanced use cases
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
Nuvigator provides a powerful routing abstraction over Flutter's own Navigators. Model complex navigation flows using a mostly declarative and concise approach, without needing to worry about several tricky behaviors that Nuvigator handles for you.
Nuvigator can help you with:
Large/Modular Apps: Where you need to have an unified API to able to register routes and design relationship between them
Nested Navigation: When you want to have nested/children Navigator inside your app, creating the concept of self contained flows
Handles Navigation thought Nuvigator ins your Widget Tree, not need to know where your route is declared
Handles pop behavior when a nested Navigator reaches it's end, is able to transparently forward pop results into underlying caller, provider helpers to deal with nested navigation
Handles Hero animation/transition between nested Navigators
Handles Android back button correctly on nested Navigators
Improve support for nested PageRoutes with NuvigatorPageRoute mixin
Using DeepLinks: You want to navigate inside your App using DeepLinks, with support for Path Parameters and Query Parameters
A declarative, easy to use API to declare and compose Routes together