While we are using this package in our own production applications, we don't have the resources to maintain the project beyond our immediate needs. If anyone would like to help maintain the project, we'd be happy to support and empower wherever possible.
- ✅ Fully Typed: work faster and safer with compile time checks and IDE autocomplete, including fully typed Cache reads and writes.
- 🔄 Built-In Code Generators: automatically generated immutable data classes for all your GraphQL Operations and Fragments, based on your schema.
- 🌐 Customizable Network Interface: highly customizable network interface using
gql_link
, allowing you to compose and extendLink
s. - ✨ Normalized Optimistic Cache: keep data in sync with cache normalization and update your UI instantly with optimistic data.
- 💾 Multiple Data Stores: extensible
Store
interface with built-inMemoryStore
andHiveStore
(which useshive
for offline persistence). - 📄 Refetch & Pagination: easily update responses with new data or combine multiple responses, allowing for seamless pagination.
- 📱 Flutter Widgets: Widgets for Queries, Mutations, and Subscriptions, available out of the box.
- 🧈 Smooth Run queries in a separate Isolate to free up resources on the UI thread
This repo is a monorepo for ferry
and related packages.
Pub | Package | Description |
---|---|---|
package:ferry |
Stream-based GraphQL Client | |
package:ferry_cache |
Normalized, strongly typed, optimistic cache | |
package:ferry_exec |
Strongly typed GraphQL execution interface | |
package:ferry_flutter |
Flutter Widgets for GraphQL Operations | |
package:ferry_generator |
Dart Type Generator for GraphQL Operations | |
package:ferry_store |
Data Persistence for ferry 's cache |
|
package:ferry_hive_store |
Hive implementation of ferry_store |
|
package:normalize |
Normalization / denormalization of GraphQL data |