WebAssembly's design is the result of a joint collaboration between major browser vendors. Together, they aim to shape its design with the following goals in mind:
- Be as safe and universal as JavaScript: The web platform is an unsafe environment and having untrusted code run is detrimental to the safety of users on the web.
- Run as quickly as native code: Because the language is quite compact, WebAssembly can be loaded faster than JavaScript code and can be interpreted five times faster than JavaScript.
- Provide consistent, predictable performance: Being statically typed, and with very minimal analysis happening at runtime, WebAssembly is able to provide consistent performance on the web, whereas JavaScript falls short because of its dynamic nature.
- Allow code reuse between web and native: A lot of existing code bases in C/C++, Rust, and other languages...