- ✅ 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 |