Rust 與 WebAssembly 為何相輔相成?
低階控制搭配高階人體工學
JavaScript 網路應用程式在達到並維持穩定效能方面面臨困難。JavaScript 的動態型別系統和垃圾回收暫停無助於改善。看似絕微的程式碼變動,一旦您不小心偏離 JIT 最佳路徑,可能會導致效能大幅衰退。
Rust 為程式設計人員提供低階控制和穩定效能。程式設計人員可控制間接參照、單態化和記憶體配置,不受 JavaScript 困擾的隨機垃圾回收暫停影響。
精簡的 .wasm
檔案大小
程式碼大小極為重要,因為 .wasm
檔案必須透過網路下載。Rust 沒有執行時期,因此不會因垃圾回收器等額外膨脹而產生過大的 .wasm
檔案大小。您只會為實際使用的函式 (以程式碼大小) 付費。
不要 全部重寫
既有的程式碼基礎無須丟棄。你可以從將你效能最敏感的 JavaScript 函式轉移至 Rust 開始,以立即獲得好處。如果你願意,你甚至可以就此打住。
與他人共處融洽
Rust 和 WebAssembly 整合既有的 JavaScript 工具。它支援 ECMAScript 模組,你可以繼續使用你已經鍾愛的工具,比如 npm、Webpack 和 Greenkeeper。
你期待的便利設施
Rust 有現代的便利設施,開發者己預期有,例如
-
使用 cargo 的強健套件管理,
-
富有表現力(且沒有成本)的抽象化,
-
以及一個熱情的社群!😊