搜索插件、代码仓与 APP 分类

插件详情v0.16.1+2

ferry

Ferry 是一个简单而强大的 Flutter 和 Dart 的 GraphQL 客户端。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
2900
喜欢数
369
Pub 分数
160

安装插件

flutter pub add ferry

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Ferry 是一个轻量且高效的 GraphQL 客户端,专为 Flutter 和 Dart 应用设计。它提供了一个简洁、类型安全的接口,用于通过 GraphQL 查询和修改数据,并内置了缓存、状态管理和通过订阅实现的实时更新支持。Ferry 可无缝集成到 Flutter 项目中,并利用 Dart 的强类型系统在编译时确保正确性。它非常适合希望在多个平台上获得简单而强大的 GraphQL 交互解决方案的开发者。

适合场景

  • 从GraphQL API获取实时数据
  • 使用 GraphQL 变更管理应用状态
  • 使用缓存实现离线优先功能
  • 使用 GraphQL 构建可扩展的 Flutter 应用
  • 在 Web 和移动应用中集成 GraphQL 后端

主要特点

  • 类型安全的 GraphQL 查询和变更
  • 内置缓存和状态管理
  • 对订阅和实时更新的支持
  • 使用代码生成的最小样板
  • 跨平台兼容性(Android、iOS、Web、macOS、Windows、Linux)

适合对象

  • 使用 GraphQL 的 Flutter 开发人员
  • 需要实时数据同步的应用程序
  • 优先考虑类型安全和开发者体验的项目
  • 使用 GraphQL 构建可扩展、可维护的 UI 的团队
  • 寻求轻量级替代方案的开发者,以取代较大的 GraphQL 客户端

使用建议

  • 需要代码生成以实现最佳使用
  • 依赖于 GraphQL 模式定义
  • 对于初学者来说,GraphQL 的学习曲线
  • 与成熟替代方案相比,文档有限
  • 最适合已经致力于GraphQL架构的项目

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

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

所属分类

依赖

依赖清单 11 项

源码仓库

使用此插件的项目