2019年十大GraphQL工具和库
极客时间编辑部
讲述:丁婵大小:2.79M时长:06:06
GraphQL 本质上是“API 的查询语言,以及使用你为数据定义的类型系统执行查询的服务端运行时”。它不依赖任何数据库或存储,而是由你的代码和数据来支持。
日前,组件开发平台 Bit 的构建者 Jonathan Saring 收集了一些出色的 GraphQL 工具和库,内容涵盖客户端库、IDE 及好用的集成,本文精选了其中 10 个,如下。
它帮助用户管理从云到 UI 的各类数据。它可以渐进引入,可以在包括 REST API 和数据库在内的现有服务上另起一层运行。
Apollo-client 是 Apollo GraphQL 的客户端库。它是一个“功能齐全的缓存式 GraphQL 客户端”。用户可以用它轻松构建通过 GraphQL 获取数据的 UI 组件。它的检索数据、跟踪加载和错误状态以及更新 UI 的所有逻辑都使用声明式数据提取方法封装在一个查询组件中,该组件可以由展示组件(presentational component)组成。这套方法在很多场景下可以大大简化编程工作。
Apollo-server 实现了一个符合规范的 GraphQL 服务器,可以从任何 GraphQL 客户端上查询。用它可以使用各个来源的数据快速为 GraphQL 客户端构建符合生产需求、自注释的 API。
2. Bit
这是一个开源工具和平台,可将可重用代码转换为不同项目都能轻松共享和开发的组件。
用户可以使用 Bit 将 API 示例和客户端转换组件,让团队可以在各种项目中轻松共享和使用,同时可以直接从消费 repo 中修改组件的代码。这样你的 API 集成就成了一条双行线,其他人可以将 API 示例组件快速应用在自己的项目中,并迅速投入实际生产环境。
3. Relay
这是一个由 Facebook 构建的 JavaScript 框架,用作使用 GraphQL 应用的高性能、可扩展的基础架构。
组件可以通过 Relay 指定并获取自己需要的数据,这样各个组件所需的应用数据就都下到了组件本地,方便组件组合。
Relay 的声明性方法让用户可以使用 GraphQL 声明数据需求,然后 Relay 负责提取数据;它会将查询聚合到网络请求中,这样可以只提取你需要的数据。它还具备自动数据一致性、优化更新和错误处理能力。
4. Prisma
它旨在取代传统的 ORM 并简化数据库工作流程。借助 GraphQL,Prisma 可以轻松实现弹性、符合生产需求的 GraphQL 服务器,还有随时可用的预制 CRUD 操作、高性能的查询解析引擎、兼容 Apollo、类型安全的解析器等等。
5. GraphiQL
它给自己的定义是“用于探索 GraphQL 的浏览器内 IDE”。用户可以通过 GraphiQL 从 GraphQL 服务器获取 Schema 定义,然后就可以开始工作了。
这个 IDE 带有语法高亮、字段、参数和类型前的智能类型、文档资源管理器以及运行和检查查询结果的工具。你可以使用 Webpack 和 Brwoserify 为 Web 做开发,或使用预打包的版本。
6. GraphQL 编辑器
这是一个可视化的节点编辑器,帮助用户更容易地理解 GraphQL schema。你可以把可视节点组合在一起来创建 schema,GraphQL 编辑器会将它们自动转换为代码。优缺点先不谈,这的确是一个“无代码解决方案”,可帮助用户以可视化方式快速构建系统架构原型。它甚至还带有开箱即用的后端模拟,上手就能用。
这是另一款流行的 GraphQL IDE,可以很好地管理订阅、文档和协作。它有桌面应用和 Web 端两种版本,提供上下文感知、自动完成和错误高亮、交互式多列文档、实时 GraphQL 订阅、有多个项目和端点的配置支持,甚至支持 Apollo 追踪等功能。
8. Altair
这是一个 GraphQL 客户端,用于对 GraphQL 服务器进行 GraphQL 查询。用户可以使用 Altair 添加、编辑和删除用于发出请求的 HTTP 标头,包括需要授权访问请求的身份验证令牌头。
它还允许你将 GraphQL 变量添加到请求中,以便在查询中方便地使用动态值。它的响应状态信息显示可帮助用户了解请求的时长,其他功能包括 schema 文档显示、语法高亮等。
9. URQL
这是一个 React 的高度可定制和多功能的 GraphQL 客户端。它暴露了一组 React 组件和 hook,它的宗旨是减少客户端的空间占用,并创建一个可以扩展的轻量库。它的主要理念是在简单和复杂之间取得平衡,提供数据存储、缓存、上下文灵活性等便利。
10. GraphQL Hooks
这是为 React 准备的微型 hooks 优先 GraphQL 客户端。它支持自定义缓存插件、服务器端渲染,只需极少配置就能快速启动和运行。它只有 5.2KB(压缩后 1.9KB)大小,甚至支持服务器端渲染。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论