为什么使用 Rust 和 WebAssembly?
低水平控制与高水平的人体工程学
JavaScript Web应用程序很难保持可靠的性能。 JavaScript的动态类型系统和垃圾收集暂停没有帮助。 如果不小心偏离了JIT的理想路线,那么看似很小的代码更改可能会导致性能急剧下降。 Rust为程序员提供了低级别的控制和可靠的性能。 它没有困扰JavaScript的不确定性垃圾收集暂停。 程序员可以控制间接寻址、单态化和内存布局。
更小的 .wasm
体积
代码大小非常重要,因为 .wasm
必须通过网络下载。
Rust 缺少 runtime,支持较小的 .wasm
大小,因为它不像垃圾收集器那样包含额外的膨胀。
只需要承担实际使用的函数成本(按代码大小)。
不需要重写
不需要遗弃现在有的代码。 你可以把哪些性能比较敏感的 JavaScript 函数写成 Rust 函数,可以立刻得到优化。 同时,也可以到此为止。
与其他工具兼容
Rust 和 WebAssembly 与现有 JavaScript 工具集成。它支持 ECMAScript 模块,可以继续使用你喜欢的工具,比如 npm 和 Webpack。
基础设施
Rust 拥有开发者们所期待的现代化便利设施,例如:
- 强大的软件包管理
cargo
, - 表达性(零成本)抽象,
- 一个热情的社区!😊