Web­Assembly

为什么选择 Rust?

Gears

可预测的性能

没有不可预测的垃圾回收暂停。没有 JIT 编译器性能下降。只有低级控制与高级人体工程学相结合。

A microscope

代码体积小

代码体积小意味着更快的页面加载速度。Rust 生成的 .wasm 不包含额外的膨胀,例如垃圾回收器。高级优化和树形抖动会删除死代码。

Luggage

现代便利设施

一个充满活力的库生态系统,帮助您快速上手。富有表现力的、零成本的抽象。以及一个友好的社区来帮助您学习。

开始吧!

WebAssembly Logo

了解有关名为 WebAssembly 的快速、安全和开放的虚拟机的更多信息,并阅读其标准。

了解更多
wasm ferris

了解如何使用 Rust 构建、调试、分析和部署 WebAssembly 应用程序!

阅读本书
MDN logo

在 Mozilla 开发者网络上了解有关 WebAssembly 的更多信息。

查看它

与 JavaScript 配合良好

增强,而不是替代

WebAssembly 的梦想不是杀死 JavaScript,而是与它并肩作战,帮助增强处理密集型或低级任务——这些任务得益于 Rust 对性能的关注。

与熟悉的工具链一起使用

将 Rust WebAssembly 包发布到 npm 等包注册中心。使用 webpack、Parcel 等工具捆绑和交付它们。使用 npm audit 和 Greenkeeper 等工具维护它们。

无缝互操作

在 Rust、WebAssembly 和 JavaScript API 之间自动生成绑定代码。利用 web-sys 等库,这些库为整个 Web 平台提供预打包的绑定。

生产使用

cloudflare logo
我们可以将 Rust 编译成 WASM,并从编织到互联网结构中的无服务器函数中调用它。这太棒了,我迫不及待地想做更多。

– Steven Pack,使用 Cloudflare Workers 的无服务器 Rust

source-map 库的 JavaScript 实现为了性能而积累了复杂的代码,我们用惯用的 Rust 替换了它。Rust 不强迫我们在清晰地表达意图和运行时性能之间做出选择。

– Nick Fitzgerald,使用 Rust 和 WebAssembly 氧化源映射

dropbox
Rust 的属性使将 DivANS 编解码器嵌入网页(如上所示)变得容易。

– Daniel Reiter Horn 和 Jongmin Baek,与 DivANS 一起构建更好的压缩