适用于iOS的GraphQL客户端库

时间:2016-04-21 15:17:31

标签: ios json rest graphql

我有一个GraphQL服务,我需要从iOS应用程序中获取,我正在尝试调查我的选项是针对此目的的客户端库。我最初的印象是,没有很多好的选择,我对此感到有些惊讶,因为Facebook的移动应用程序总是被引用为GraphQL本身的动机材料。

以下是我目前对我的选择的理解。我的问题是:我可以忽略哪些客户端库选项?如果你想象一下iOS的理想GraphQL客户端库,我也很好奇,它看起来像什么?

  1. 只是Alamofire,AFNetworking或NSURLSession直接传递精心手工制作的Query Documents,并通过表示生成的JSON的Dictionary进行洞察,或
  2. Chester
  3. GraphQLicious
  4. Swift-GraphQL

2 个答案:

答案 0 :(得分:10)

很久以前就提出了这个问题 - 我认为今天标准的答案是使用Apollo Client

它在网络上使用与Apollo Client类似的API,并且有一些非常好的功能:

  • 基于GraphQL查询的静态类型生成&突变
  • 规范化缓存
  • 查询观看&自动UI更新
  • 手动商店更新

它尚未达到1.0,但整体上是一个非常有前景的项目!

以下是一些可以帮助您入门的资源:

答案 1 :(得分:8)

我不会手工构建查询,我认为Chester和GraphQLicious都适合你。 如果我不得不想象完美的库,它不仅应该构建查询,还应该将结果解析为Swift对象。正如您可能从JSON解析库中了解到的那样,这不是一项小任务,这就是为什么大多数GraphQL-Builder库都没有这样做的原因。

披露:我是GraphQLicious背后的人之一