We’re kicking off a working group to polish the end-to-end user experience of
targeting WebAssembly from Rust and we want your help. Check out
rust-lang-nursery/rust-wasm
to learn more and get involved!
As called out in Rust’s 2018 roadmap RFC, we believe that Rust and
WebAssembly is a compelling combination. Rust gives programmers low-level
control and reliable performance. Its minuscule runtime enables small .wasm
binaries and incremental adoption. Binary size is of huge importance since the
.wasm
must be downloaded over the network. Incrementality means that existing
code bases don’t need to be thrown away; programmers can start by porting their
most performance-sensitive JavaScript functions or modules to Rust to gain
immediate benefits. Furthermore, Rust has many of the amenities
that Web developers have come to expect, such as strong package management,
expressive abstractions, and a welcoming community.
The working group will do cross-cutting work that ranges from hacking on the
rustc
and LLVM toolchains, to implementing a WebAssembly version of
bindgen
, to designing code size profilers, to writing
a Rust and WebAssembly book. There are a wide variety of exciting
problems to tackle, mentors to provide guidance, and opportunities to make an
impact!