Bustle的GraphQL实践
极客时间编辑部
讲述:杜力大小:1.03M时长:02:15
Facebook 将 GraphQL 定义成“一门 API 查询语言以及一个支持查询现有数据的运行时”。REST 通过向 REST 端点发送请求获取数据,而 GraphQL 允许客户端指定它们想要的数据。
当 Facebook 公司内部开始大规模使用 GraphQL 时,社区才刚刚开始使用它。InfoQ 采访了来自 Bustle 的工程总监史蒂夫·福克纳(Steve Faulkner),谈论了 GraphQL 的相关问题以及 Bustle 是如何使用它的,并为想要采用 GraphQL 的团队提供了一些建议。
福克纳表示,GraphQL 在 Bustle 的生产系统里扮演着非常重要的角色,他们所有的 API、后端的 CMS 系统和前端的网站都从 GraphQL 获取数据。
在切换到 GraphQL 之前,Bustle 主要使用的是 Rails 风格的 REST。福克纳表示,在一开始他并不喜欢 GraphQL,甚至极力阻止想使用它的人。在他看来,REST 已经足够好了,而 GraphQL 太复杂了,他不想把 Bustle 的技术栈搞得太复杂。
但后来有两件事情改变了福克纳的看法。首先是类型系统,GraphQL 的类型系统降低了他们的沟通成本,提升了他们的开发效率。第二点,GraphQL 简单易上手,Bustle 刚在生产环境进行了试验,公司就有很多开发人员开始选择使用 GraphQL,因为他们不需要向别人请教任何问题就能够轻松使用它。
于是,Bustle 就开始尝试使用 GraphQL,而它也不负众望,首先解决了人员沟通问题。GraphQL 为 API 或文档的变更提供了开箱即用的解决方案。它是一门比 REST 更加严谨的 API 开发语言,它强制你开发出更好的 API,同时可以自动生成文档。它自带的 API 浏览器(explorer)完全是自动化的,节省了开发时间,加快了开发速度。
但对于想要切换到 GraphQL 的团队,福克纳指出,GraphQL 也存在一些不足,比如安全方面的问题、在生产环境中的运维问题、查询的复杂性、认证和授权问题等。Bustle 自己解决了其中的一些问题,但这些问题在社区方面并未得到解决,这点需要得到重视,比如如果有银行想要使用 GraphQL,需要想想“要做些什么来让它达到生产级别”。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- GeekAmIGraphQL,新的工具...
收起评论