Flutter Data is the seamless way to handle persistent data models in the reactive Flutter environment.
- Auto-generated repositories (REST clients) for all models 🚀
- CRUD and custom actions on remote API
- StateNotifier, Future and Stream APIs
- Built for offline-first 🔌
- uses Hive at its core for caching & local storage
- included read/write retry offline adapter
- Effortless setup ⏰
- Automatically configured Providers
- Convention over configuration powered by Dart mixins
- Exceptional relationship support ⚡️
- Automatically synchronized, traversable relationship graph
- Reactive relationships
- Clean, intuitive API and minimal boilerplate 💙
- Truly configurable and composable
- Scales very well (both up and down)
Working on a Flutter app that talks to an API server?
You want to fetch data from a REST API, serialize it, store it for offline use and hook it up with your state management solution – all that for 20+ interconnected models in your app.
Trying to make this work with http/Chopper/Firebase, json_serializable, ad-hoc caching, Provider wiring up, custom loading/error states (not to mention sync’ing with local storage, Hive or SQLite)… can be painful 😫.
What if you could get it all working smoothly with minimal effort?
Fully compatible with the tools we know and love:
|Flutter||✅||It can also be used with pure Dart|
|json_serializable||✅||Not required! Other |
|JSON REST API||✅||Great support|
|Firebase||✅||Adapter coming soon 🎉 as well as Firebase Auth|
|Provider||✅||Not required! It can be automatically wired up|
|get_it||✅||Not required! Very easy to integrate|
|Streams / BLoC||✅||Great support|
|Flutter Web||✅||Full support coming soon!|
|Hive||✅||Flutter Data uses Hive internally for local storage|
|Chopper/Retrofit||Not needed: Flutter Data generates its own REST clients (**)|
(**) That said, adapters are being considered!
Around the web
- Flutter Data on Pub: https://pub.dev/packages/flutter_data
- Flutter Data on Github: https://github.com/flutterdata/flutter_data
- Find me on Twitter: https://twitter.com/thefrank06
➡ Go to the quickstart!