為何選擇 Rust 和 WebAssembly?
使用高階操作語法進行低階控制
JavaScript 網路應用在達成並維持穩定效能上遇到困難。JavaScript 的動態型別系統與垃圾回收暫停機制沒有幫助。如果不小心偏離 JIT 的快樂路徑,看似微小的程式碼異動可能會導致效能劇烈下降。
Rust 可讓程式設計師具備低階控制權與可靠的效能。它沒有像 JavaScript 那樣會造成問題的不確定垃圾回收暫停機制。程式設計師可控制間接調用、單態化和記憶體配置。
微小的 .wasm
程式碼大小
由於 .wasm
必須透過網路下載,因此程式碼大小非常重要。Rust 沒有執行環境,因此可以產生微小的 .wasm
程式碼大小,因為當中沒有包含像是垃圾回收器等額外的負擔。您只需針對實際使用的函式付費 (以程式碼大小為單位)。
不要 完全重寫
現有的程式碼庫無需移除。您可以先將效能最敏感的 JavaScript 函式移植至 Rust 以立即獲得優點。如果您願意,甚至可以在此停止。
與其他程式碼相容
Rust 及 WebAssembly 可以整合至現有的 JavaScript 工具中。它支援 ECMAScript 模組,能持續使用你所喜愛的工具,例如 npm 和 Webpack。
你所期望的便利性
Rust 具備開發人員所期望的現代便利性,例如
-
搭配
cargo
的強大套件管理 -
具有表達力(且零成本)的抽象化
-
以及熱情的社群!😊