这是使用 Rust 和 WebAssembly 的未发布文档,已发布的文档可在 Rust 和 WebAssembly 主文档网站上找到 。这里记录的功能可能在 Rust 和 WebAssembly 工具的发布版本中不可用。

为什么选择 Rust 和 WebAssembly?

低级控制与高级人体工程学

JavaScript Web 应用程序难以获得并保持可靠的性能。JavaScript 的动态类型系统和垃圾回收暂停无济于事。如果不小心偏离了 JIT 的最佳路径,看似很小的代码更改会导致性能大幅下降。

Rust 为程序员提供了低级控制和可靠的性能。它没有困扰 JavaScript 的不确定性垃圾回收暂停。程序员可以控制间接寻址、单态化和内存布局。

小巧的 .wasm 文件大小

代码大小非常重要,因为 .wasm 文件必须通过网络下载。Rust 没有运行时,这使得 .wasm 文件大小很小,因为没有像垃圾回收器这样的额外膨胀。你只为实际使用的函数付费(以代码大小计)。

不要全部重写

现有的代码库不需要丢弃。你可以先将性能最敏感的 JavaScript 函数移植到 Rust,以获得立竿见影的效果。如果你愿意,甚至可以止步于此。

与其他工具配合良好

Rust 和 WebAssembly 与现有的 JavaScript 工具集成。它支持 ECMAScript 模块,你可以继续使用你喜欢的工具,比如 npm、Webpack 和 Greenkeeper。

你所期望的便利设施

Rust 拥有开发者期望的现代便利设施,例如

  • 使用 cargo 的强大包管理系统,

  • 富有表现力(且零成本)的抽象,

  • 以及友好的社区!😊