close

作者 | Tina

10 月 26 日,Vercel 公司正式宣布推出新的打包工具 Turbopack。Webpack 創建者 Tobias Koppers 於 2021 年 4 月加入該公司,牽頭了該項目。

Turbopack 是 Vercel 公司之前一些工作的延續。在此之前,他們用基於 Rust 的 SWC 替換基於 JavaScript 的轉譯器 Babel,速度提升了 17 倍。他們還替換了 Terser,壓縮的速度提高了 6 倍,從而減少了加載時間和帶寬的使用。

「Webpack 已被下載超過 30 億次。它已成為 Web 構建不可或缺的一部分。但就像 Babel 和 Terser 一樣,是時候全力以赴了。我加入了 Vercel,組建了一個團隊來構建 Web 下一代的打包工具。」Tobias 說。

據 Vercel 首席執行官 Guillermo Rauch 介紹,與 Webpack 一樣,Turbopack 也是開源的。

Vercel 聲稱 Turbopack 在大型應用中,展示出了 10 倍於 Vite 的速度,700 倍於 Webpack 的速度。在更大的應用中,差異更加巨大 —— 通常比 Vite 快 20 倍。而且啟動速度飛快,在一個 3000 個模塊的應用里,Turbopack 只花了 1.8 秒啟動,Vite 花了 11.4 秒。

Rauch 說,性能改進不僅是因為基於 Rust ,還在於「基於增量計算思想的架構」。該團隊借鑑了谷歌 Bazel 構建系統中的一些想法,該系統適用於大型項目。增量方法意味着避免做重複的工作,「如果你創建一個增量圖,開發人員在其中進行更改,只有受影響的圖部分會被重新計算。」

Turbopack——目前處於 alpha 預覽階段——是「一種更好的架構,我認為 Rust 和正確架構相結合意味着我們至少在 10 年內不需要改變,」Rauch 表示。

Turbopack 是怎麼來的?「Next.js 早在 2016 年就開始使用 Webpack 作為組件,」他說。「我們可能是 Webpack 的最大用戶。我們在開始時和 Webpack 創建者 Tobias 聊了很多,因為當時我們有像沃爾瑪這樣的客戶,有超過 250 名工程師在 Next.js 代碼庫上工作,分享一些關於編譯過程的反饋。我們意識到 JavaScript 和 TypeScript 代碼的數量增長如此之快,以至於超出了基於 JavaScript 的工具和架構的能力。Tobias 也從未想過該工具會得到如此廣泛的採用。」

Webpack 面向單頁應用程序 (SPA) ,「但我們不是,因此我們改變了 Webpack 的默認設置。」當 Koppers 加入 Vercel 時,「他帶來了 10 年的專業知識,見證了這件事情的發展,」Rauch 說。「他意識到架構和運行時的所有缺陷。因此,Tobias 成為了 Rust 專家。」Turbopack 一個有趣的特性是,多虧了 Rust,它可以編譯成 WebAssembly 並在瀏覽器中運行。

「Turbopack 旨在成為 Webpack 的直接替代品,Next.js 是它的第一個客戶,」Vercel 首席技術官 Malte Ubl 說,「隨着時間的推移,我們計劃針對所有開發者用例繼續迭代和改進 Turbopack。」

延伸閱讀:
https://vercel.com/blog/turbopack
https://devclass.com/2022/10/25/webpack-founder-debuts-rust-based-turbopack-that-is-700x-faster/

活動推薦

將於 11 月 21-22 日舉辦的 GMTC 全球大前端技術大會(北京站)上,來自阿里的前端技術專家光弘老師將分享《基於 LowCodeEngine 的阿里低代碼組件體系的建設和實踐》,帶你了解低代碼組件為組件研發領域帶來的變化以及機會點。此外,本次 GMTC 北京站還設置了 TypeScript、跨端技術選型、前端 DevOps 實踐、IoT 動態應用開發、大前端監控、移動端性能與效率優化等共 12 個專題,50+ 大廠技術專家現場分享,點擊底部【閱讀原文】查看更多精彩內容,感興趣的同學聯繫票務經理:+86 18514549229
本周薦文

當「增加人員」不足以解決問題,你就該考慮應用「微前端」了

WebAssembly的核心語言特性與未來發展

玉伯:聊聊我在阿里做前端的這 12 年

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()