Flutter Gems

A Flutter package landscape guide comprising 2500+ neatly categorized useful and popular packages!

Follow on Twitter Subscribe for Updates Contribute

Crafted with 💙 for Flutter Community

provider
👍 3408

A wrapper around InheritedWidget to make them easier to use and more reusable.

READ MORE
get
👍 3164

Open screens/snackbars/dialogs without context, manage states and inject dependencies easily with GetX.

READ MORE
flutter_bloc
👍 1755

Flutter Widgets that make it easy to implement the BLoC (Business Logic Component) design pattern. Built to be used with the bloc state management package.

READ MORE
get_it
👍 949

Simple direct Service Locator that allows to decouple the interface from a concrete implementation and to access the concrete implementation from everywhere in your App"

READ MORE
rxdart
👍 920

RxDart is an implementation of the popular reactiveX api for asynchronous programming, leveraging the native Dart Streams api.

READ MORE
bloc
👍 789

A predictable state management library that helps implement the BLoC (Business Logic Component) design pattern.

READ MORE
stacked
👍 569

An architecture and widgets for an MVVM inspired architecture in Flutter. It provides common functionalities required to build a large application in a understandable manner.

READ MORE
mobx
👍 532

MobX is a library for reactively managing the state of your applications. Use the power of observables, actions, and reactions to supercharge your Dart and Flutter apps.

READ MORE
riverpod
👍 504

A simple way to access state from anywhere in your application while robust and testable.

READ MORE
flutter_modular
👍 447

Smart project structure with dependency injection and route management

READ MORE
injectable
👍 293

Injectable is a convenient code generator for get_it. Inspired by Angular DI, Guice DI and inject.dart.

READ MORE
flutter_mobx
👍 277

Flutter integration for MobX. It provides a set of Observer widgets that automatically rebuild when the tracked observables change.

READ MORE
states_rebuilder
👍 273

a simple yet powerful state management technique for Flutter

READ MORE
flutter_riverpod
👍 254

A simple way to access state from anywhere in your application while robust and testable.

READ MORE
flutter_redux
👍 214

A set of utility Widgets that Provide and Connect to a Redux Store

READ MORE
redux
👍 171

Redux is a predictable state container for Dart and Flutter apps

READ MORE
event_bus
👍 163

A simple Event Bus using Dart Streams for decoupling applications

READ MORE
hydrated_bloc Card Image
hydrated_bloc
👍 150

An extension to the bloc state management library which automatically persists and restores bloc states.

READ MORE
flutter_data Card Image
flutter_data
👍 150

The seamless way to work with persistent data models in Flutter. Inspired by Ember Data and ActiveRecord.

READ MORE
hooks_riverpod
👍 137

A simple way to access state from anywhere in your application while robust and testable.

READ MORE
bloc_test Card Image
bloc_test
👍 133

A testing library which makes it easy to test blocs. Built to be used with the bloc state management package.

READ MORE
scoped_model
👍 129

A Widget that passes a Reactive Model to all of it's children

READ MORE
state_notifier
👍 110

ValueNotifier, but outside Flutter and with some extra perks

READ MORE
get_cli
👍 102

Official CLI for GetX™ framework to build Flutter and Server Applications easily

READ MORE
mvc_pattern Card Image
mvc_pattern
👍 81

To develop apps using a framework following the MVC design pattern separating the app's 'interface' from its 'business logic' and from its 'data source' if any.

READ MORE
async_redux
👍 79

Redux without the boilerplate, tailored for Flutter. Easy to learn, to use and test. Allows for both sync and async reducers.

READ MORE
bloc_pattern
👍 71

Just a package with bases to deploy the BloC your code. Modules, Consumers And BLoC!

READ MORE
momentum Card Image
momentum
👍 69

A super-powerful flutter state management library inspired with MVC pattern with very flexible dependency injection.

READ MORE
native_state
👍 50

Stores persistent state that can be restored when the app is relaunched after the process was killed.

READ MORE
kiwi Card Image
kiwi
👍 45

A simple yet efficient dependency injection container for Dart and Flutter (can be coupled with the kiwi_generator package).

READ MORE
fish_redux Card Image
fish_redux
👍 41

Fish Redux is an assembled flutter application framework based on Redux state management.

READ MORE
observable_ish
👍 33

Write elegant reactive cross-platform client side application using observable states and event emitters.

READ MORE
replay_bloc
👍 32

An extension to the bloc state management library which adds support for undo and redo.

READ MORE
koin
👍 32

A pragmatic lightweight dependency injection framework for Dart projects.

READ MORE
redux_thunk
👍 31

A Redux.dart Middleware that allows you to dispatch functions that perform async work as actions.

READ MORE
binder Card Image
binder
👍 30

A lightweight, yet powerful way to bind your application state with your business logic.

READ MORE
flutter_state_notifier
👍 29

Flutter bindings for state_notifier, such as StateNotifierProvider and StateNotiferBuilder

READ MORE
frideos
👍 28

An all-in-one package for state management, reactive objects, animations, effects, timed widgets etc.

READ MORE
flutter_command
👍 28

flutter_command is a way to manage your state based on `ValueListenable` and the `Command` design pattern.

READ MORE
flutter_simple_dependency_injection
👍 27

A super simple dependency injection implementation for flutter that behaves like any normal IOC container and does not rely on mirrors

READ MORE
bloc_provider
👍 26

Provides bloc to descendant widget (O(1)), and the bloc is disposed appropriately by state which the bloc_provider holds internally.

READ MORE
livestream Card Image
livestream
👍 24

LiveStream is a simple class which makes communication easy among different modules of your application.

READ MORE
get_it_mixin
👍 24

mixin on Stateless- and StatefulWidgts that makes binding the Widget to Objects stored in GetIt easier.

READ MORE
universal_widget Card Image
universal_widget
👍 23

A universal widget that can be placed anywhere in your widget tree, with full support of animation & accessibility.

READ MORE
after_init Card Image
after_init
👍 23

Adds a didInitState() lifecycle method to stateful widgets where you can safely access inherited widgets.

READ MORE
sealed_flutter_bloc Card Image
sealed_flutter_bloc
👍 22

flutter_bloc state management extension that integrates sealed_unions.

READ MORE
rx_bloc Card Image
rx_bloc
👍 22

A Flutter package that helps implementing the BLoC (Business Logic Component) Design Pattern using the power of reactive streams.

READ MORE
property_change_notifier Card Image
property_change_notifier
👍 22

A drop-in replacement for ChangeNotifier for observing only certain properties of a model.

READ MORE
state_persistence
👍 21

Persist state across app launches. By default this library store state as a local JSON file called `data.json` in the applications data directory.

READ MORE
mwwm Card Image
mwwm
👍 21

Software architecture pattern for teams with different sizes. Add possibility to work separately. Separate UI, presentation logic and business logic.

READ MORE
flutter_rx_bloc
👍 21

Set of Flutter Widgets that help implementing the BLoC design pattern. Built to be used with the rx_bloc package.

READ MORE
state_machine
👍 20

Finite state machine library. Easily define legal state transitions. Listen to state entrances, departures, and transitions.

READ MORE
injector
👍 20

injector is a simple to use and lightweight dependency injection library for dart

READ MORE
sprinkle
👍 18

A convenient, stream-based Flutter architecture

READ MORE
functional_listener
👍 18

An rx like extension methods on ValueListenable type, that lets you work with ValueNotifiers almost like with Streams

READ MORE
flutter_mobx_helpers
👍 18

A set of tools for MobX that helps you with common processes making everything easier.

READ MORE
angular_bloc
👍 18

Angular Components that make it easy to implement the BLoC (Business Logic Component) design pattern. Built to be used with the bloc state management package.

READ MORE
isolate_bloc
👍 17

A dart package that helps implement the BLoC pattern. BLoC works in Isolate and don't slow down UI.

READ MORE
flutter_bloc_devtools
👍 17

Remote DevTools for flutter_bloc. This package connects all Bloc to the Remote Devtools Server, allowing the developer to inspect changes to the Blocs during runtime.

READ MORE
dart_notification_center
👍 16

A wrapper for the observer pattern for Dart in the style of the iOS Notification Center.

READ MORE
inherited_state
👍 15

Simple and clean state management backed by InheritedWidget and DI backed by the service locator pattern.

READ MORE
rebloc
👍 14

A state management library for Flutter that combines aspects of Redux and BLoC. Rebloc uses streams and BLoCs to compose middleware and reducers.

READ MORE
generic_bloc_provider
👍 14

A generic BloC Provider for your Flutter apps. This package will help you avoid the boilerplate of writing BloC Providers.

READ MORE
redux_logging
👍 13

Redux.dart Middleware that prints the latest action & state

READ MORE
mobx_provider
👍 13

package for binding the UI with your stores (viewmodels) easily , the package is inspired by filled stacks archticture pattern

READ MORE
meedu
👍 13

A simple State Managment, Dependency Injection, Reactive programming for dart Projects.

READ MORE
hydrated
👍 13

An automatically persisted BehaviorSubject with simple hydration for Flutter. Intended to be used with the BLoC pattern.

READ MORE
redux_epics
👍 12

A redux.dart Middleware that helps you perform side effects using Streams

READ MORE
cubes Card Image
cubes
👍 11

Simple State Manager (Focusing on simplicity and rebuilding only the necessary)

READ MORE
provider_for_redux
👍 10

Let's you use Provider with Redux. Uses AsyncRedux, the non-boilerplate version of Redux (https://pub.dev/packages/async_redux).

READ MORE
flutter_redux_navigation
👍 10

A simple reactive navigation middleware for Flutter's redux library.

READ MORE
alt_bloc
👍 10

A library that provides components for more easier and boilerplate implementation of the BLoC architecture pattern.

READ MORE
redux_persist_flutter
👍 9

Redux Persist Flutter Integration with custom storage engines

READ MORE
fbroadcast Card Image
fbroadcast
👍 9

FBroadcast Help developers build an efficient broadcast system in the application.

READ MORE
dash
👍 6

Dash library is responsible to offer a service locator pattern that cares about provide and dispose blocs.

READ MORE
dartin
👍 6

A pragmatic lightweight dependency injection framework for Flutter developers.

READ MORE
no_bloc
👍 5

Make bloc easy again! A simple and low boilerplate implementation of the bloc state management pattern. Includes extras to work with blocs like testing, monitoring and persistence.

READ MORE
disposable_provider
👍 5

DisposableProvider is thin wrapper of Provider and it calls dispose automatically.

READ MORE
flutter_flux Card Image
flutter_flux
👍 4

Flux library for Flutter, featuring unidirectional dataflow inspired by reflux and Facebook's flux architecture.

READ MORE
flutter_bloc_pattern
👍 2

Bloc provider. Provides bloc to descendant widget (O(1)), and the bloc is disposed appropriately by state which the bloc_provider holds internally.

READ MORE