WebAssembly
In this book, while talking about Wasm, I will target web browsers by default. If otherwise, it will be explicitely stated that we will target any or a specific runtime.
Short History of Rust
- 2015: Annonced
- March 2017: First release
- November 2017: Support "in all major browsers"
- December 2019: Recommendation from the W3C
- 2019: Mozilla introduced its WebAssembly System Interface (WASI)
- June 2019: WebAssembly threads (Chrome 75)
- May 2022: 93% of installed browsers support WebAssembly
Why WebAssembly?
Wasm (WebAssembly short name) is the little brother of asm.js. Wasm is a low-level assembly-like language with a compact binary format that runs with near-native performance. While the first implementations have landed in web browsers, there are also non-browser implementations for general-purpose use, including Wasmtime, Wasmer or WebAssembly Micro Runtime (WAMR), wasm3, WebAssembly Virtual Machine (WAVM), and many others.