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