A Flutter navigation package that uses code generation for strongly-typed arguments, deep linking, and simplified route setup.
AutoRoute is a Flutter navigation package that uses code generation to simplify route setup and management. It automates the creation of strongly-typed route arguments, supports deep linking, and reduces boilerplate code for named routes. The package is designed to handle complex navigation scenarios like nested routing, tab navigation, and route guards with minimal manual configuration.
Flutter developers building applications that require clean routing setups, deep linking, or guarded routes, especially those looking to reduce navigation boilerplate and ensure type safety.
Developers choose AutoRoute for its ability to generate type-safe route code automatically, eliminating the need for manual argument parsing and route definition. Its support for advanced features like nested navigation, tab routing, and declarative navigation makes it a comprehensive solution for complex Flutter apps.
Flutter route generator
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically generates route objects with compile-time checked arguments, eliminating manual parsing errors and reducing boilerplate.
Handles platform deep links with configurable transformers and builders, simplifying URL-based navigation setup.
Supports nested routers, tab navigation with state preservation and lazy loading, and declarative routing for complex app structures.
Enables middleware-like guards for authentication and access control, seamlessly integrated into the routing flow.
Relies on build_runner or lean_builder for code generation, adding setup complexity and potential build delays to the development workflow.
Migration guides for major versions (e.g., v6, v9) indicate past breaking changes, which could require significant refactoring during upgrades.
Advanced features like nested navigation and tab routers have intricate setups, as evidenced by the extensive documentation and configuration options.