GraphQL 教程(二)—— GraphQL 生态

GraphQL发展至今,已有Github、Facebook、Airbnb等大厂在大量地使用,大厂在使用的过程中,不断地进行技术沉淀,也诞生了许多实用的开源工具。这里重点介绍Github的Awesome系列awesome-graphql,它列举了Github上面开源的并且十分有用的graphql相关的服务端、客户端以及生态链相关的其他工具。graphql发展至今,已有非常完整的开发语言支持,主流的语言Javascript、Python、Java、PHP、Ruby等都有各自的服务端与客户端实现,在awesome-graphql上还有部分语言的实现参考示例代码。这里简要介绍几个常见的库:

Apollo-Client: 算是最知名的GraphQL客户端了,因为它是Javascript的客户端。功能丰富,可用于不同的服务端及前端。

GraphiQL: 一款运行于浏览器的GraphQL IDE,几乎所有的服务端库都会提供这么一个经典的web页面。该页面是一个单页面应用,可以直接在其上运行查询语句,自带代码补全和校错功能,直接查看GraphQL所有的文档(定义好的Schema),比如Github API的在线文档,登录后就能在线发送真实的请求获取到我们想要的数据。由于我们之后要进行实践教程,所以这里有今后用于实践的真实的Web端,访问地址为: https://project.haofly.net/graphql。

点击右边的Docs按钮就可以直接查看文档,

在左边输入框可以输入查询语句,自带补全和校错功能,Prettify用于格式化查询语句,左下角点击QUERY VARIABLES可以以JSON格式输入附带的变量等参数。右边就是查询结果

Graphql-Network: Chrome的调试工具,由于GraphQL查询语句是一串字符串,浏览器审查元素看起来非常难看,这个工具则可以将其格式化成我们想要的格式。

格式化前:

格式化后:

GraphDoc: 可以将文档页面生成静态文档站点。

GraphQL-Voyager: 生成交互式的schema图。

另外,当前正在使用GraphQL的大厂有GitHub、Shopify、Twitter、 Coursera、Yelp、Wordpress等

GraphQL 教程demo地址
GraphQL 教程(一)——What’s GraphQL
GraphQL 教程(二)—— GraphQL 生态
GraphQL 教程(三)—— GraphQL 原理
GraphQL 教程(四)—— Python Demo搭建
GraphQL 教程(五)—— 增删改查语法及类型系统
GraphQL 教程(六)—— N+1问题和缓存等问题