Rust是JavaScript基礎設施的未來? – Lee Robinson

banq發表於2021-11-17

Lee Robinson 是 Vercel(NextJS 的建立者)的開發者關係主管。
Rust 是一種快速、可靠且記憶體高效的系統語言,在過去 6 年中被評為“最受開發人員喜愛”(根據 Stack Overflow 開發人員調查)。
過去,JavaScript 生態系統中的絕大多數工具都是用 JavaScript 或 TypeScript 編寫的。
但是,有一種趨勢是從 JavaScript 轉向使用系統程式語言。
我們現在看到正在使用 Rust 構建下一代 JavaScript 工具。
目前JavaScript 生態系統中的多個工具:
  • SWC:SWC 是一個可擴充套件的基於 Rust 的平臺,可用於編譯、捆綁、縮小等。
  • 它被 NextJS、Parcel 和 Deno 等工具使用。
  • Deno:Deno 是適用於 JavaScript 和 TypeScript 的現代且安全的執行時。它使用 v8 並使用 Rust 構建。Deno 試圖取代 NodeJS,它是由 NodeJS 的原始建立者編寫的。它的 linter、程式碼格式化程式和文件生成器是使用 SWC 構建的。
  • esbuild:esbuild 是一個 JavaScript 打包器和壓縮器。 Esbuild 引發了使用 Go 和 Rust 等系統程式語言構建 JavaScript 工具的趨勢。

 
我相信Rust 是 JavaScript 工具的未來。Next.js 12開始了過渡,用 SWC 和 Rust 完全取代 Babel和 Terser,為什麼?
  • 擴充套件性: SWC 可以在 Next.js 中用作 Crate,而無需分叉庫或解決設計約束。
  • 效能:透過切換到 SWC,我們能夠在 Next.js 中實現約 3 倍的快速重新整理和約 5 倍的構建速度,還有更多的最佳化空間仍在進行中。
  • WebAssembly: Rust 對 WASM 的支援對於支援所有可能的平臺和讓 Next.js 開發無處不在是必不可少的。
  • 社群: Rust 社群和生態系統非常棒,而且還在不斷增長。

不僅僅是 Next.js 採用 SWC,還有:

 
Rust 的一些缺點:
Rust 的學習曲線非常陡峭。它的抽象級別比大多數 Web 開發人員所習慣的要低。
因此,開發人員將不得不更多地考慮演算法、資料結構和記憶體管理。
此外,Rust 在網路社群中的使用仍然是小眾的,但這種情況正在迅速改變。
 

總結
相信 Rust 將在未來 1-2​​ 年和未來繼續對 JavaScript 生態系統產生重大影響。想象一個世界,其中 Next.js 中使用的所有構建工具都是用 Rust 編寫的,為您提供最佳效能。然後,Next.js 可以作為您從 NPM 下載的靜態二進位制檔案分發。

相關文章