tRPC 透過 TypeScript 的強大功能,強制執行嚴格的完整堆疊類型繫結,提供絕佳的開發人員體驗。沒有 API 合約偏移,沒有程式碼產生。
自從 2021 年 8 月發布我們最後一個主要版本以來,tRPC 社群已大幅成長
- 我們現在在 GitHub 上有超過 15,000 顆星
- 一個 Discord 社群,擁有超過 2,000 名成員
- 每週超過 10 萬次 npm 下載
- 近 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 也製作了一個codemod,可以為您完成大部分繁重的遷移工作。
不斷成長的生態系
豐富的子函式庫集持續圍繞 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 Server Components和 Next.js 13。
我也想對 Sachin、Julius、James、Ahmed、Chris、Theo、Anthony 以及 所有協助讓此版本發佈的貢獻者 表達由衷的感謝。
感謝您使用和支持 tRPC。
- 在 Twitter 上追蹤 @trpcio。
- 加入我們的 Discord 社群
- 在您的瀏覽器中試用 tRPC