为什么是Rust和WebAssembly?
低水平控制与高水平的人机工程学
JavaScript网络应用程序很难达到并保持可靠的性能。JavaScript的动态类型系统和垃圾收集的暂停并没有帮助。看似很小的代码改动,如果你不小心偏离了JIT的快乐路径,就会导致性能的急剧下降。你不小心偏离了JIT的快乐路径。
Rust 为程序员提供了低级控制和可靠的性能。 它没有困扰 JavaScript 的非确定性垃圾收集暂停。 程序员可以控制间接、单态化和内存布局。
小的 .wasm
尺寸
代码大小非常重要,因为 .wasm
必须通过网络下载。 Rust 缺少运行时,支持较小的 .wasm
大小,因为没有像垃圾收集器那样包含额外的膨胀。 您只需为实际使用的功能付费(按代码大小)。
不需要 重写一切
不需要丢弃现有的代码库。 您可以首先将您对性能最敏感的 JavaScript 函数移植到 Rust,以获得直接的好处。 如果您愿意,你甚至可以到此为止。
与其程序可以很好的结合
Rust 和 WebAssembly 与现有的 JavaScript 工具集成。它支持 ECMAScript 模块,你可以继续使用你已经喜欢的工具,如 npm 和 Webpack。
您期待的便利设施
Rust 拥有开发人员所期望的现代设施,例如:
-
强大的包管理
cargo
, -
富有表现力(和零成本)的抽象,
-
和一个热情的社区! 😊