Vercel 官方宣布推出「零配置 Go 後端支援」,大幅簡化了 Go 語言在 Vercel 平台上的部署流程。 過去開發者部署 Go 專案通常需要手動設定自訂執行環境(Runtime),現在 Vercel 能自動偵測並完成建置。 這項更新讓 Go 開發者能像使用 Node.js 一樣,輕鬆將 Go 程式碼部署為高效能的 Serverless Functions。
Vercel 發表技術部落格,宣布旗下熱門 Monorepo 工具 Turborepo 已正式完成從 Go 到 Rust 的全面遷移。此舉徹底移除了過去混合架構中的 Go 程式碼與 CGO 效能開銷,實現了純 Rust 的 codebase。這不僅大幅提升了建置速度與記憶體效率,也讓 Turborepo 能與 Next.js 編譯器(SWC)等 Vercel 生態系中的 Rust 工具鏈進行更深度的整合。
Vercel 團隊分享了將 Turborepo 從 Go 漸進式遷移到 Rust 的技術細節。由於需要讓兩者代碼共存,團隊面臨了複雜的 FFI 與 CGO 跨平台編譯挑戰。最終他們引入了 Zig 語言的編譯工具鏈(zig cc),成功簡化了多平台(macOS、Linux、Windows)的建置流程,為混合語言專案的漸進式重寫提供了極佳的實踐範例。
Vercel 詳細解析了將 monorepo 建構工具 Turborepo 從 Go 移植到 Rust 的背後原因與方法。為了與 Next.js 的 Rust 工具鏈(如 Turbopack)深度整合並提升效能,團隊放棄了「一次性重寫」,採用「漸進式遷移」策略,逐步替換核心功能,並克服了兩者在並行處理與記憶體管理上的差異。
Vercel 旗下的高效能建置工具 Turborepo 宣布將核心從 Go 遷移至 Rust。此決策旨在與 Next.js 的 Rust 工具鏈(如 Turbopack)深度整合,共享程式碼並降低維護成本。此外,Rust 無垃圾回收(GC)的特性、極致的效能表現以及對 WebAssembly 的友善支援,也是促成這次架構轉移的關鍵因素。