跳至主要内容

宣布 tRPC v10

·阅读时长 4 分钟
Alex / KATT 🐱

tRPC 通过 TypeScript 的强大功能,通过强制严格的、全栈类型绑定,提供了出色的开发体验。没有 API 契约漂移,没有代码生成。

自我们上次在 2021 年 8 月发布主要版本以来,tRPC 社区已经取得了长足的进步。

今天,我们发布了 tRPC v10。我们很高兴地分享,v10 已经开始被许多大型 TypeScript 项目用于生产环境。此正式发布宣布了对更广泛社区的普遍可用性。

对于新项目,您可以使用 示例应用程序 来学习有关 tRPC v10 的知识。对于已经享受 tRPC v9 的项目,请 访问 v10 迁移指南

更改概述

v10 是 tRPC 有史以来最大的版本。这是我们第一次对 tRPC 的结构进行任何根本性更改,我们相信这些更改为快速发展的团队在开发尖端应用程序方面打开了新的可能性。

改进的开发体验

tRPC v10 拥抱您的 IDE。我们希望统一您的类型 - 但我们也在此版本中将您的前端、后端和编辑体验整合在一起。

使用 v10,您可以

  • 使用“转到定义”直接从您的前端使用者跳转到您的后端过程
  • 使用“重命名符号”为整个应用程序中的输入参数或过程赋予新名称
  • 更轻松地推断类型,以便您希望在应用程序中手动使用 tRPC 类型时。

强大的后端框架

在 v10 中,我们重新审视了定义后端过程的语法,为以健康的方式引入所需的逻辑打开了更多机会。此版本的 tRPC 具有以下功能

大幅改进的 TypeScript 性能

TypeScript 使开发人员能够做一些不可思议的事情 - 但它也可能带来成本。我们用来保持类型紧密的许多技术给 TypeScript 编译器带来了沉重的负担。我们听到了社区的反馈,即使用 tRPC v9 的最大应用程序开始因这种编译器压力而导致开发人员 IDE 的性能下降。

我们的目标是增强所有规模应用程序的开发体验。在 v10 中,我们大幅提高了 TypeScript 性能(尤其是在 TS 增量编译方面),以便您的编辑器保持快速响应。

增量迁移

我们还投入了大量精力来使迁移体验尽可能简单,包括一个 interop() 方法,该方法允许(几乎)与 v9 路由器完全向后兼容。 访问迁移指南 以获取更多信息。

核心团队的 Sachin 还制作了 一个代码修改器,可以为您完成大部分迁移工作。

不断增长的生态系统

围绕 tRPC 正在形成一组丰富的子库。以下是一些示例

有关更多插件、示例和适配器,请 访问 Awesome tRPC 合集

谢谢!

核心团队和我希望您知道:我们才刚刚开始。我们已经开始尝试使用 React 服务器组件 和 Next.js 13。

我还想向 SachinJuliusJamesAhmedChrisTheoAnthony所有帮助实现此版本发布的贡献者 表示衷心的感谢。

感谢您使用和支持 tRPC。