适用于iOS的GraphQL客户端库
问题描述:
我有一个GraphQL服务,我需要从iOS应用程序点击,我试图调查我的选项适用于面向此目的的客户端库。我最初的印象是,那里没有太多好的选择,我对此有点惊讶,因为Facebook的移动应用程序一直被引用为GraphQL本身的动力材料。适用于iOS的GraphQL客户端库
以下是我目前对我的选择的理解。我的问题是:我忽略了哪些客户端库选项?我也很好奇,如果你想象iOS的理想GraphQL客户端库,它可能是什么样子?
- 仅有Alamofire,AFNetworking,或
NSURLSession
直接,传递精心制作的手工Query Documents和通过代表所得到的JSON一个Dictionary
洞穴探险,或 - Chester
- GraphQLicious
- Swift-GraphQL
答
我不会手动构建查询,我认为Chester和GraphQLicious都是w应该对你好。 如果我不得不想象完美的库,它不仅应该构建查询,而且还要将结果解析为Swift对象。正如您从JSON解析库中所了解的那样,这不是一个小任务,这就是为什么大多数GraphQL-Builder库不这样做。
披露:我身后GraphQLicious
答
的球员这个问题被问得很久以前的一个 - 我想今天的标准答案,这将是使用Apollo Client。
它使用在网络上类似的API作为阿波罗客户和有几个非常好的特点:
- 静态类型生成基于GraphQL查询&突变
- 归缓存
- 查询看&自动UI更新
- 手动存储更新
它还没有达到1.0,但总体来说是一个超级有希望的项目!
这里有一些资源,应可帮助您开始:
我想使用一个JavaScript GraphQL客户端,像阿波罗http: //docs.apollostack.com/apollo-client/实现一些JS函数来处理网络调用,返回结果或错误等。将它与应用程序绑定并使用JavaScriptCore运行它,这里是一个很好的教程https://www.raywenderlich。com/124075/javascriptcore-tutorial –
更新:刚刚发现在JavaScriptCore引擎中运行的JavaScript无法访问网络,那里没有http请求实现,只有纯粹的ECMAScript,所以网络部分应该是本地代码,或者讨厌这样说)JS运行在一个隐藏的WebView中......我希望在Swift中有成熟的GraphQL客户端实现,如果你找到了一个请让我知道......干杯。 –
我今天早上才知道这个:https://github.com/apollostack/apollo-ios – pohl