Package selection guidance compiled from public package information, community data, and project usage.
Flow Builder is a Flutter package that simplifies the creation and management of application flows with a flexible, declarative API. It enables developers to define complex navigation sequences and state transitions in a clean, readable way, reducing boilerplate code. Ideal for managing multi-step processes like onboarding, checkout flows, or wizards, it promotes maintainable and scalable flow logic. The package supports all major platforms including Android, iOS, Web, macOS, Windows, and Linux.
Use cases
Onboarding flows
Checkout processes
Multi-step wizards
Stateful navigation
Complex routing logic
Key features
Declarative flow definition
Minimal boilerplate
State management integration
Cross-platform support
Flexible transition handling
Suitable for
Developers building complex navigation
Teams prioritizing clean code
Projects with multi-step user journeys
Apps requiring dynamic flow control
Considerations
Requires understanding of state management
Best suited for flows with clear transitions
May add overhead for simple navigation
Not a replacement for core Navigator
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
Flutter Flows made easy!
Usage
Define a Flow State
The flow state will be the state which drives the flow. Each time this state changes, a new navigation stack will be generated based on the new flow state.
FlowBuilder is a widget which builds a navigation stack in response to changes in the flow state. onGeneratePages will be invoked for each state change and must return the new navigation stack as a list of pages.