WebAssembly
为什么选择 Rust?
可预测的性能
没有不可预测的垃圾回收暂停。没有 JIT 编译器性能下降。只有低级控制与高级人体工程学相结合。
代码体积小
代码体积小意味着更快的页面加载速度。Rust 生成的 .wasm
不包含额外的膨胀,例如垃圾回收器。高级优化和树形抖动会删除死代码。
现代便利设施
一个充满活力的库生态系统,帮助您快速上手。富有表现力的、零成本的抽象。以及一个友好的社区来帮助您学习。
与 JavaScript 配合良好
增强,而不是替代
WebAssembly 的梦想不是杀死 JavaScript,而是与它并肩作战,帮助增强处理密集型或低级任务——这些任务得益于 Rust 对性能的关注。
与熟悉的工具链一起使用
将 Rust WebAssembly 包发布到 npm 等包注册中心。使用 webpack、Parcel 等工具捆绑和交付它们。使用 npm audit
和 Greenkeeper 等工具维护它们。
无缝互操作
在 Rust、WebAssembly 和 JavaScript API 之间自动生成绑定代码。利用 web-sys
等库,这些库为整个 Web 平台提供预打包的绑定。
生产使用
我们可以将 Rust 编译成 WASM,并从编织到互联网结构中的无服务器函数中调用它。这太棒了,我迫不及待地想做更多。
– Steven Pack,使用 Cloudflare Workers 的无服务器 Rust
source-map
库的 JavaScript 实现为了性能而积累了复杂的代码,我们用惯用的 Rust 替换了它。Rust 不强迫我们在清晰地表达意图和运行时性能之间做出选择。
– Nick Fitzgerald,使用 Rust 和 WebAssembly 氧化源映射
Rust 的属性使将 DivANS 编解码器嵌入网页(如上所示)变得容易。
– Daniel Reiter Horn 和 Jongmin Baek,与 DivANS 一起构建更好的压缩