本文介绍了几个与 GraphQL 有关的工具,它们能让你更方便地使用 GraphQL。鉴于篇幅有限,我只会挑选几个好用且有代表性的。
我们都知道,使用 GraphQL 需要设置数据库。当然,你可以选择使用 BaaS 服务提供的外部数据库。但是,如果你不想这么做,那应该怎么办?这就是 Prisma 要解决的问题。Prisma 是一个中间件,它是介于你的应用和数据库之间的桥梁。Prisma 是一个 ORM 库,可以让你用自己所选的编程语言与服务器中的数据库进行交互。因此,如果你要将数据写入 MySQL 数据库,不必使用 SQL 语句进行操作,Prisma 可以让你使用 Python、JavaScript 或者你喜欢的其他某种编程语言进行操作。
很多人可能会有疑问,“这不就是常规的 ORM 库都能做到的吗?”。这个疑问很对。但是,Prisma 还附带一些其他功能:
地址:
Relay 是由 Facebook 创建的一个 JavaScript 框架,用于获取和管理 GraphQL 数据。Relay 应该是 GraphQL 用户的首选工具,其特点是可以验证和优化你的代码。另外一个重点是,Relay 是 GraphQL 和 React 之间交互的桥梁。它可以让你使用 GraphQL 设置数据请求,然后对响应结果进行处理,将查询收集到网络请求中以获取所需的准确信息。
Relay 主要由三个松耦合模块组成:
地址:
Apollo 平台是 GraphQL 的一种功能实现,它可以从服务器获取数据并传送到 UI 进端行渲染。Apollo 客户端是 JavaScript 的全状态管理库,可以让你通过 GraphQL 管理本地和远程数据。Apollo 平台的目标是让你能通过 GraphQL 获取数据并构建 UI 组件。Apollo 服务端提供了可以快速构建 GraphQL API 的方法,可以让你通过任意 GraphQL 客户端(包括 Apollo 客户端)查询符合一定规范的服务器中的数据。
让我们一起看一下 Apollo 客户端有哪些特性:
地址:
https://www.apollographql.com/
Hasura 是一个具有高性能的 GraphQL 引擎。它为 Postgres 数据库提供即时的 GraphQL API,可以用于远程模式下的业务逻辑处理以及数据库事件的 webhook 触发。
Hasura 主要功能是帮助快速构建由 Postgres 数据库驱动的 GraphQL 应用程序,或者帮助使用 Postgres 的应用迁移到 GraphQL,它具有以下特点:
地址:
URQL 是 Formidable 实验室提供的功能强大且应用场景广泛的 GraphQL 客户端。它使用 React hooks 以及相关组件,旨在成为一个轻量级的客户端。用户可以自定义满足自己特殊需求的多功能工具,并在进一步使用 GraphQL 后,可以对自定义工具进行微调。
URQL 的目标定位很明晰,即保持简单易用的同时,还要有能够处理复杂任务的功能。它具有以下几个特点:
地址:
https://formidable.com/open-source/urql/
原文链接:
领取专属 10元无门槛券
私享最新 技术干货