Apollo iOS 是一个强类型、缓存的 GraphQL 客户端,使用 Swift 编写。
它允许您对 GraphQL 服务器执行查询和突变,并将结果作为特定于查询的 Swift 类型返回。这意味着您不必处理 JSON 解析,也不必传递字典并将值强制转换为正确类型。您也不必自己编写模型类型,因为这些类型是从您的 UI 所使用的 GraphQL 定义生成的。
生成的类型是查询特定的,您只能访问查询中实际指定的数据。如果未请求字段,则无法访问相应的属性。实际上,这意味着现在可以依赖 Swift 类型检查器来确保数据访问错误在编译时显示出来。使用我们的 Xcode 集成,您可以方便地在 UI 代码和相应的 GraphQL 定义旁边工作,它甚至会验证您的查询文档,并在行内显示错误。
Apollo iOS 不仅在 GraphQL 服务器上运行您的查询:它将查询结果规范化,构建客户端数据缓存,随着进一步的查询和突变保持数据更新。这意味着您的 UI 始终保持内部一致,并且可以以最少的查询次数与服务器上的状态保持完全一致。
这种模型的组合(具有值语义的模型、单向数据流和自动一致性管理)导致了一种非常强大且优雅的编程模型,可让您消除常用的粘合代码,并极大地简化了应用程序的开发。
入门
如果您是 Apollo iOS 的初学者,我们建议您阅读我们的 入门指南。
Carthage/XCFramework 支持
Apollo iOS 仓库不再包含 Xcode 项目,因此如果您正在使用 Carthage 或需要为您的开发环境构建 XCFramework,则应使用我们创建的包含 Xcode 项目的 apollo-ios-xcframework 仓库,该仓库使用 Tuist 生成,用于此目的,并且带有与 Apollo iOS 版本匹配的标签。
版本和变更日志
所有版本都已编目,我们维护一个变更日志,详细介绍了库的所有更改。
路线图
路线图是描述此项目下一个大步骤或里程碑的高级别文件。我们始终欢迎功能请求和社区的贡献。
贡献
如果您想贡献,请参阅 Apollo 贡献指南。
维护者
谁是阿波罗?
阿波罗 开发开源软件和图平台,以统一您应用程序和服务中的 GraphQL。我们帮助您快速发布,使用
- 阿波罗工作室 —— 一个免费的全端平台,用于管理 GraphQL 生命周期。在一个托管的注册表中跟踪您的 GraphQL 架构,为您的图形中的所有内容创建真相之源。工作室提供了一个 IDE(阿波罗探索器),让您可以探索数据、协同完成查询、观察使用情况,并安全地更改架构。
- 阿波罗联盟 – 建立分布式图的行业标准开放架构。使用阿波罗网关从多个子图中组合统一的图形、确定查询计划并路由请求到您的服务。
- 阿波罗客户端 – 最受欢迎的 Web GraphQL 客户端。阿波罗还建立并维护了 Apollo iOS 和 Apollo Kotlin。
- 阿波罗服务器 – 一款生产就绪的 JavaScript GraphQL 服务器,可以连接到任何微服务、API 或数据库。兼容所有流行的 JavaScript 框架,并可部署在无服务器环境中。
了解如何使用阿波罗进行构建
请访问 Odyssey 学习平台,这里是您的 GraphQL 之旅的理想起点,这里有视频和交互式代码挑战。加入 Apollo 社区,与 GraphQL 社区互动并获得技术支持。