In order to solve these problems, Alon Zakai, an engineer from Mozilla, proposed Asm.js in 2012. After several years of development, it finally evolved into WebAssembly in 2015.
WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.
This is the official definition of WebAssembly on webassembly.org. From this definition, we can see that WebAssembly is a binary instruction format. But WebAssembly Text Format is often called WebAssembly too, while in fact, this text format is a programming language.
After the official announcement, WebAssembly got rapid development. By November 2017, Mozilla announced that all major browsers including Chrome, Firefox, Safari, etc. have supported WebAssembly. And according to the data in July 2021, 94% of the browsers being used have supported WebAssembly.