Documentation ๐Ÿ“–

January 26, 2023 ยท View on GitHub

A simple, powerful GraphQL Client for Flutter and Dart

MIT License PRs Welcome Watch on GitHub Star on GitHub Watch on GitHub Discord

Documentation ๐Ÿ“–

Features

  1. โœ… Fully Typed: work faster and safer with compile time checks and IDE autocomplete, including fully typed Cache reads and writes.
  2. ๐Ÿ”„ Built-In Code Generators: automatically generated immutable data classes for all your GraphQL Operations and Fragments, based on your schema.
  3. ๐ŸŒ Customizable Network Interface: highly customizable network interface using gql_link, allowing you to compose and extend Links.
  4. โœจ Normalized Optimistic Cache: keep data in sync with cache normalization and update your UI instantly with optimistic data.
  5. ๐Ÿ’พ Multiple Data Stores: extensible Store interface with built-in MemoryStore and HiveStore (which uses hive for offline persistence).
  6. ๐Ÿ“„ Refetch & Pagination: easily update responses with new data or combine multiple responses, allowing for seamless pagination.
  7. ๐Ÿ“ฑ Flutter Widgets: Widgets for Queries, Mutations, and Subscriptions, available out of the box.
  8. ๐Ÿงˆ 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.

PubPackageDescription
versionpackage:ferryStream-based GraphQL Client
versionpackage:ferry_cacheNormalized, strongly typed, optimistic cache
versionpackage:ferry_execStrongly typed GraphQL execution interface
versionpackage:ferry_flutterFlutter Widgets for GraphQL Operations
versionpackage:ferry_generatorDart Type Generator for GraphQL Operations
versionpackage:ferry_storeData Persistence for ferry's cache
versionpackage:ferry_hive_storeHive implementation of ferry_store
versionpackage:normalizeNormalization / denormalization of GraphQL data