Overview
Ferry Cache is a normalized, strongly typed, and optimistic caching solution designed specifically for GraphQL operations and fragments. It ensures efficient data management by storing responses in a structured, deduplicated format, reducing redundant network requests. The cache supports real-time updates and optimistic UI behavior, improving user experience during mutations. Built for the GQL Dart ecosystem, it integrates seamlessly with Ferry, enabling robust client-side state handling across multiple platforms.
Use cases
- Caching GraphQL query results
- Optimistic UI updates after mutations
- Managing normalized data across components
- Reducing redundant network calls
- Supporting offline-first applications
- Synchronizing state across different parts of an app
Key features
- Normalized data storage
- Strong typing for cache entries
- Optimistic updates
- GraphQL fragment support
- Cross-platform compatibility
- Integration with Ferry
Suitable for
- Dart/Flutter apps using GraphQL
- Developers needing type-safe caching
- Projects requiring real-time data synchronization
- Apps with complex nested data structures
- Teams building scalable GraphQL clients
Considerations
- Requires integration with Ferry
- Limited to GraphQL workflows
- May require learning curve for normalization concepts
- Dependent on GQL Dart ecosystem
- Not suitable for non-GraphQL data sources