为什么选择 Rust 和 WebAssembly?

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

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

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

小巧的 .wasm 文件大小

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

不要重写所有内容

现有的代码库不需要被丢弃。你可以从将性能最敏感的 JavaScript 函数移植到 Rust 开始,以立即获得收益。如果你愿意,你甚至可以止步于此。

与其他技术良好协作

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

你所期望的便利设施

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

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

  • 表达力强(且零成本)的抽象,

  • 以及友好的社区!😊