真实世界的例子除去 Facebook 可以直接看 Shopify,他们的博客里有讲已经全面切换到 GraphQL 的,开发者文档里有。另外就是 Github。
GQL 我的理解是他是描述数据和数据之间关系的查询语言,最基本的用法他就是个更好的 Web API(多条查询打包、强类型、文档生成友好)。
但还是缺乏实践,比如 Relay 规范还不稳定(Apollo 规范倒是还行),做不好限制就容易产生性能灾难的查询,或者作为 DDOS 的入口。
也缺乏工具,GQL 有很多新的思想,比如他是会把 GQL Query 编译成 AST,然后去 Resolve,这里为了做到更多的优化,需要了解一些编译原理、需要了解一些数据库的设计方式(GQL 有复杂度评估)、有多路复用,需要考虑并行编程模型(Go 这种语言天生优势,但是 Ruby 就不是了),这些大公司有牛逼的 Infra 团队去处理,但是中小团队没有好用的 开箱即用 工具就很难做好。
还有,由于 GQL Query 有 Parse 过程,在任何语言下,这里都引入了额外的性能损耗(计算密集)