tRPC 通过 TypeScript 的强大功能,通过强制严格的、全栈类型绑定,提供了出色的开发体验。没有 API 契约漂移,没有代码生成。
自我们上次在 2021 年 8 月发布主要版本以来,tRPC 社区已经取得了长足的进步。
- 我们现在在 GitHub 上拥有超过 15,000 个星标
- 一个 Discord 社区,拥有超过 2,000 名成员
- 每周 npm 下载量超过 10 万次
- 近 200 位贡献者
- 不断增长的扩展、示例和内容生态系统
今天,我们发布了 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 正在形成一组丰富的子库。以下是一些示例
- trpc-openapi,用于轻松创建与 REST 兼容的端点
- create-t3-app,用于使用 tRPC 启动一个完整的 Next.js 应用程序
- create-t3-turbo,用于使用 tRPC 启动您的下一个 React Native 应用程序
- trpc-chrome,用于使用 tRPC 构建 Chrome 扩展
- 针对 Solid、Svelte 和 Vue 等框架的适配器
有关更多插件、示例和适配器,请 访问 Awesome tRPC 合集。
谢谢!
核心团队和我希望您知道:我们才刚刚开始。我们已经开始尝试使用 React 服务器组件 和 Next.js 13。
我还想向 Sachin、Julius、James、Ahmed、Chris、Theo、Anthony 和 所有帮助实现此版本发布的贡献者 表示衷心的感谢。
感谢您使用和支持 tRPC。
- 在 Twitter 上关注 @trpcio。
- 加入我们的 Discord 社区
- 在您的浏览器中试用 tRPC