WebAssembly, also known as WASM, is a binary instruction format designed for stack-based virtual machines, and WASM serves as a portable target for compiling high-level languages such as C/C?/Rust, allowing high-performance client and server applications to be deployed on the Web and can be used in many other environments.
WASM has a variety of implementations, including browsers and stand-alone systems, for applications such as video and audio codecs, graphics and 3D, multimedia and gaming, cryptography, or portable language implementations.
Version 1.0 is already supporting Chrome, Firefox, Safari, and Edge.
For the Web, WebAssembly can improve Web performance by allowing loaded pages to run locally compiled code because of their virtual instruction set design.
In other words, WebAssembly can achieve near-local performance and optimize load times, and most importantly, it can be a compilation target for an existing code base.
W3C also announced THE NEXT DEVELOPMENT PRIORITIES FOR WASM, with new features including:
Threading provides the advantage of shared memory multithreaded and atomic memory access.
Fixed-width SIMD, fixed width SIMD
Perform vector operations of a loop in parallel.
Reference types reference type
Allows WebAssembly code to directly reference the host object.
Tail calls, tail calls
Call directly without using additional stack space.
ECMAScript module integration, ECMAScript module integration
There are also features that have been following up, including garbage collection, debugging interfaces, and WebAssembly system interfaces (WASI).
Notably, last month Mozilla, Fastly, Intel, and Red Hat announced the formation of a joint organization, Bytecode Alliance, which aims to improve WebAssembly by collaborating on standards and proposing new standards Ecology outside the browser.