An intermediate bytecode language that is used to replace various JavaScript routines in Web pages for increased performance. Introduced in 2015 by the W3C, WebAssembly (WASM) allows programmers to write in their preferred language. There are compilers for C/C++, Rust, C#, Java and Python that generate WASM bytecode. Compilers for other languages are also expected.
WebAssembly is more efficient than JavaScript because the pre-compiled bytecode is smaller and downloads faster. In addition, bytecode interpreters execute faster than source code interpreters that have to analyze (parse) long text strings. See
bytecode.
Built Into Every Web Browser
WebAssembly provides operations at the machine level, which enables developers to do things that were never defined in the high-level JavaScript language. Just as a JavaScript interpreter was part of every Web browser for more than two decades, by the end of 2017, a WASM interpreter was included in the latest versions of Edge, Chrome, Firefox and Safari. See
JavaScript and
interpreter.
WASI: Beyond the Browser
WASI (WebAssembly System Interface) was created to enable WebAssembly applications to run under any operating system and not just in a browser. WASI provides access to system resources such as files, folders and internal routines.