为什么选择 Rust 和 WebAssembly?
低级控制与高级人体工程学
JavaScript Web 应用程序难以获得并保持可靠的性能。JavaScript 的动态类型系统和垃圾收集暂停无济于事。如果不小心偏离了 JIT 的最佳路径,看似很小的代码更改会导致性能大幅下降。
Rust 为程序员提供了低级控制和可靠的性能。它没有困扰 JavaScript 的非确定性垃圾收集暂停。程序员可以控制间接寻址、单态化和内存布局。
小巧的 .wasm
文件大小
代码大小非常重要,因为 .wasm
文件必须通过网络下载。Rust 没有运行时,这使得 .wasm
文件大小很小,因为没有像垃圾收集器这样的额外膨胀。你只为实际使用的函数付费(以代码大小计)。
不要重写所有内容
现有的代码库不需要被丢弃。你可以从将性能最敏感的 JavaScript 函数移植到 Rust 开始,以立即获得收益。如果你愿意,你甚至可以止步于此。
与其他技术良好协作
Rust 和 WebAssembly 与现有的 JavaScript 工具集成。它支持 ECMAScript 模块,你可以继续使用你喜欢的工具,比如 npm 和 Webpack。
你所期望的便利设施
Rust 拥有开发者期望的现代便利设施,例如
-
使用
cargo
的强大包管理系统, -
表达力强(且零成本)的抽象,
-
以及友好的社区!😊