WASM

WebAssembly, or WASM for short, is a low-level binary format initially designed to run efficiently in modern web browsers. It allows desktop applications written in C/C++ to be ported to the browser. Thanks to WASM, you can now run databases in the browser, such as DuckDB.

In addition to performance, security is another key advantage of WASM. It enables the execution of untrusted code in web applications. For example, quickjs-emscripten allows for the safe execution of untrusted JavaScript.

Unlike Java Applets and Flash, WebAssembly is an open standard not owned by any single company. This openness makes WASM an ideal compilation target, leading to the development of various WASM runtimes, including those for server-side applications.

As more runtimes have been developed, a standard was needed to define how WASM programs interact with the outside world. This is addressed by the WebAssembly System Interface (WASI).

While WASM was initially conceived to improve the performance of front-end JavaScript applications, it is now being used outside of web browsers in areas such as server-side applications and desktop software, emerging as a universal distribution format.