GraphQL 已经成为 REST 的后继者,成为创建 API 的标准,但现在它自己的后继者“也许”即将到来。
塞尔吉奥·维加拉
塞尔吉奥·维加拉
2023 年 1 月 10 日——阅读 4 分钟
tRPC 是 GraphQL 的替代品吗?
棉花布罗工作室拍摄
GraphQL将查询包装在请求周围,允许特定信息,而不是 REST 的一刀切方法。这带来了显着的性能优势。
尽管它很受欢迎,但许多公司在实施和发展这项技术时 丹麦手机号码列表 遇到了严重的问题。开发有效运行的 API 既复杂又耗时。如果开发人员缺乏经验,GraphQL 通常会实现得很糟糕,因此这也可能是一个问题。
这就是为什么新的替代方案不断涌现,例如 tRPC,它是 GraphQL 的更轻量级替代方案,可以加快开发速度并大幅提高性能。
什么是tRPC?
tRPC 代表“TypeScript 远程过程调用”,是用于从客户端远程调用后端函数的最简单、最轻量的库。它旨在为开发人员提供 TypeScript 体验,使后端和前端之间的通信更加高效。
这意味着您在后端和前端都需要 TypeScript,但如果您已经以这种方式设置了应用程序,则 tRPC 很容易实现。与 GraphQL 不同,tRPC 不是一种模式,而是一种用于向前端公开后端函数的协议(或“方法”)。通过使后端和前端更好地协同工作来简化您的 API,最终产生更轻、性能更好的应用程序。
tRPC 的工作原理
tRPC 不使用模式或代码生成来构建 API。由于它旨在为开发人员提供更简单、更高效的选择,因此创建 tRPC API 相对简单。前端使用程序远程调用后端的数据。过程是可组合的,这意味着它们由组件组成。有两种类型的过程:查询和变更:
查询:查询是客户端发送的请求,目的是从后端获取数据。
突变:突变可以在后端创建、更新或删除数据。
使用 tRPC 时,您通常会发现使用 monorepo 更容易,并且该库鼓励您这样做。现代应用程序架构已经转向使用多个存储库来分隔后端、前端和其他关键区域。 monorepo 只是一个包含应用程序所有代码的存储库。 tRPC 类型定义是从您自己的 TypeScript 代码生成的,因此如果您选择不使用 monorepo,您可能会发现在尝试使用不同版本时开始出现各种问题。
使用 tRPC 的好处
尽管 tRPC 不如 GraphQL 受欢迎,但对于许多开发人员来说,它是一个更好的选择。这些是它的一些最大的好处。