Search packages, repositories and app categories

Package detailsv0.6.1

ferry_store

Default Store for Ferry GraphQL client

AndroidiOSWebmacOSWindowsLinux
30-day downloads
72.2K
Likes
2
Pub points
130

Install package

flutter pub add ferry_store

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

Ferry Store is the default state management solution for the Ferry GraphQL client, designed to efficiently manage and cache GraphQL query results across Flutter applications. It integrates seamlessly with Ferry to provide a reactive, type-safe store that synchronizes data with the server, supports optimistic updates, and handles subscriptions. Built for performance and developer experience, it simplifies state handling in GraphQL-powered apps by reducing boilerplate and ensuring consistency across platforms.

Use cases

  • Managing cached GraphQL query results
  • Handling real-time updates via subscriptions
  • Optimistic UI updates
  • Cross-platform GraphQL state management
  • Synchronizing local state with server data

Key features

  • Built-in caching layer
  • Type-safe state management
  • Supports optimistic updates
  • Real-time subscription handling
  • Seamless integration with Ferry client

Suitable for

  • Flutter apps using Ferry GraphQL client
  • Apps requiring efficient data synchronization
  • Developers seeking minimal boilerplate for GraphQL state
  • Projects targeting multiple platforms
  • Teams prioritizing reactive UI patterns

Considerations

  • Requires Ferry GraphQL client
  • Limited standalone use outside Ferry ecosystem
  • May require learning Ferry-specific patterns
  • Not suitable for non-GraphQL state management
  • Best paired with Ferry's generated code

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

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.

Pub Package Description
version package:ferry Stream-based GraphQL Client
version package:ferry_cache Normalized, strongly typed, optimistic cache
version package:ferry_exec Strongly typed GraphQL execution interface
version package:ferry_flutter Flutter Widgets for GraphQL Operations
version package:ferry_generator Dart Type Generator for GraphQL Operations
version package:ferry_store Data Persistence for ferry's cache
version package:ferry_hive_store Hive implementation of ferry_store
version package:normalize Normalization / denormalization of GraphQL data

Categories

Dependencies

Dependency list 2 items

Source repository

Projects using this package

No data available yet.