Documentation ๐
January 26, 2023 ยท View on GitHub
A simple, powerful GraphQL Client for Flutter and Dart
Documentation ๐
Features
- โ 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 extendLinks. - โจ Normalized Optimistic Cache: keep data in sync with cache normalization and update your UI instantly with optimistic data.
- ๐พ Multiple Data Stores: extensible
Storeinterface with built-inMemoryStoreandHiveStore(which useshivefor 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
Packages
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 |