Apollo 1.15.0

Apollo 1.15.0

测试已测试
Lang语言 SwiftSwift
许可协议 MIT
发布上次发布2024 年 8 月
SPM支持 SPM

Calvin CestariJeff AuriemmaZach FettersMooreApollo 维护。



Apollo 1.15.0

  • Apollo GraphQL

Apollo GraphQL

CircleCI build status MIT license Supported Platforms: iOS, macOS, tvOS, watchOS

Swift 5.7 supported Swift Package Manager compatible CocoaPods compatible

Apollo iOS 是一个用 Swift 编写的强类型缓存 GraphQL 客户端

它允许您针对 GraphQL 服务器执行查询和 Mutation,并以针对查询特定的 Swift 类型返回结果。这意味着您不需要处理解析 JSON,或传递字典并手动将值类型转换为正确的类型。您也不需要自己编写模型类型,因为这些是从您的 UI 使用的 GraphQL 定义中生成的。

由于生成的类型是针对查询特定的,您只能访问实际在查询中指定的数据。如果您没有请求一个字段,您将无法访问相应的属性。实际上,这意味着现在您可以依靠 Swift 类型检查器来确保数据访问错误在编译时显示出来。使用我们的 Xcode 集成,您可以方便地同时处理 UI 代码和相应的 GraphQL 定义,并且它甚至会验证您的查询文档,并在行内显示错误。

Apollo iOS 不仅在 GraphQL 服务器上运行您的查询:它会将查询结果规范化以构建客户端数据缓存,这会随着进一步的查询和 Mutation 保持更新。这意味着您的 UI 始终内部一致,并且可以通过所需的最小查询数量与服务器上的状态保持完全同步。

这种模型与值语义、单向数据流和自动一致性管理相结合,导致了一种非常强大而优雅的编程模型,您可以使用它来消除常见的粘合代码并大大简化应用程序开发。

入门

如果您是全新的 Apollo iOS 用户,我们推荐您阅读我们的入门指南

同时还有详细文档,包括API 参考文档

版本发布与变更日志

所有版本发布均已收录,我们还维护一个变更日志,详细记录了库的所有变更。

路线图

路线图》是描述本项目下一个重大步骤或里程碑的高级文档。我们总是欢迎特性请求和社区贡献。

贡献

该项目使用 Xcode 14 和 Swift 5.7 进行开发。

如果您打开 Apollo.xcodeproj,应该在您的 Mac 或 iOS 模拟器上能够运行 ApolloApolloSQLiteApolloWebSocket 框架的测试。仅限 macOS 上运行 ApolloCodegenLib 测试。

部分测试跑通了一个针对提供 Star Wars 示例模式的简单 GraphQL 服务器(请参阅该处的安装说明)。

如果您想贡献力量,请参考Apollo 贡献指南

维护者

谁是 Apollo?

Apollo 开发开源软件和图平台,以统 谐应用和服务中的 GraphQL。我们助您加快交付速度,通过

  • Apollo Studio – 一个免费的端到端平台,用于管理您 的 GraphQL 生命周期。在托管注册表中跟踪您的 GraphQ l模式,以创建图中的所有内容的真实来源。 Studio 提供了一个 IDE(Apollo Explorer),以便您可以探索数据、共同协作编写查询、观察使用情况,并安全地进行模式更改。
  • Apollo Federation – 构建分布式图的行业标准开放架构。使用 Apollo 的网关,从多个子图中组合统一的图,确定查询计划,并跨服务路由请求。
  • Apollo Client – 最受欢迎的网页 GraphQL 客户端。Apollo 还开发和维护Apollo iOSApollo Kotlin
  • Apollo 服务器 – 一种成熟可用的 JavaScript GraphQL 服务器,它可以连接到任何微服务、API 或数据库。与所有流行的 JavaScript 框架兼容,并可在无服务器环境中部署。

了解如何在 Apollo 中构建

查看Odyssey 学习平台,这是开始您的 GraphQL 之旅、观看视频和交互式代码挑战的完美之地。加入Apollo 社区,与 GraphQL 社区互动并获得技术支持。