Flutter Gems

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

Follow on Twitter Subscribe for Updates Contribute

Crafted with 💙 for Flutter Community

provider
👍 2631

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

READ MORE
get
👍 1914

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

READ MORE
flutter_bloc
👍 1343

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
rxdart
👍 749

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

READ MORE
get_it
👍 727

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
bloc
👍 627

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

READ MORE
stacked
👍 462

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
👍 444

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
flutter_modular
👍 370

Smart project structure with dependency injection and route management

READ MORE
riverpod
👍 267

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

READ MORE
states_rebuilder
👍 253

a simple yet powerful state management technique for Flutter

READ MORE
injectable
👍 237

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

READ MORE
flutter_mobx
👍 233

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

READ MORE
flutter_redux
👍 172

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

READ MORE
redux
👍 136

Redux is a predictable state container for Dart and Flutter apps

READ MORE
flutter_data Card Image
flutter_data
👍 133

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

READ MORE
flutter_riverpod
👍 121

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

READ MORE
event_bus
👍 120

A simple Event Bus using Dart Streams for decoupling applications

READ MORE
hydrated_bloc Card Image
hydrated_bloc
👍 109

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

READ MORE
scoped_model
👍 98

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

READ MORE
state_notifier
👍 94

ValueNotifier, but outside Flutter and with some extra perks

READ MORE
bloc_test Card Image
bloc_test
👍 94

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

READ MORE
hooks_riverpod
👍 78

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

READ MORE
bloc_pattern
👍 68

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

READ MORE
momentum Card Image
momentum
👍 67

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

READ MORE
async_redux
👍 67

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

READ MORE
mvc_pattern Card Image
mvc_pattern
👍 54

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
native_state
👍 41

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

READ MORE
fish_redux Card Image
fish_redux
👍 35

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

READ MORE
kiwi Card Image
kiwi
👍 33

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

READ MORE
flutter_simple_dependency_injection
👍 24

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

READ MORE
redux_thunk
👍 23

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

READ MORE
observable_ish
👍 23

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

READ MORE
bloc_provider
👍 23

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

READ MORE
flutter_state_notifier
👍 22

Flutter bindings for state_notifier, such as StateNotifierProvider and StateNotiferBuilder

READ MORE
frideos
👍 21

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

READ MORE
after_init Card Image
after_init
👍 20

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

READ MORE
property_change_notifier Card Image
property_change_notifier
👍 18

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

READ MORE
flutter_command
👍 18

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

READ MORE
sealed_flutter_bloc Card Image
sealed_flutter_bloc
👍 17

flutter_bloc state management extension that integrates sealed_unions.

READ MORE
functional_listener
👍 16

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

READ MORE
injector
👍 15

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

READ MORE
rx_bloc Card Image
rx_bloc
👍 14

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

READ MORE
flutter_rx_bloc
👍 14

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

READ MORE
redux_logging
👍 11

Redux.dart Middleware that prints the latest action & state

READ MORE
redux_epics
👍 11

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

READ MORE
rebloc
👍 11

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
hydrated
👍 11

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

READ MORE
get_it_mixin
👍 11

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

READ MORE
dart_notification_center
👍 11

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

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
👍 8

Redux Persist Flutter Integration with custom storage engines

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
👍 3

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

READ MORE
flutter_bloc_pattern
👍 3

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