WebAssembly (WASM) is the new web standard, it is a new type of code designed to be faster to parse than JavaScript and faster to execute. It is also designed to run alongside JavaScript, allowing both to work together.

WASM is supported in all modern browsers.

Why we should care about WebAssembly?

It provides a way to run code written in multiple languages on the web at near native speed.

using the WASM JavaScript APIs, we can load its modules into a JavaScript app and share functionality between them. This allows taking advantage of WebAssembly's performance and power and JavaScript's expressiveness and flexibility in the same apps.

Watch this video from Mozilla.

Is it a web standard?

WebAssembly is an emerging standard, with ongoing work on the specification. The browser vendors have reached consensus on the design of the initial wasm API and binary format, and it is being developed as a web standard with an active group via W3C WebAssembly Working Group with members from Mozilla, Microsoft, Google, and Apple.

How is this different from JavaScript?

The key words are low-level. It defines primitives including a range of types and operations on those types, literal forms for them, control-flow, calls, a heap, etc…

These are very simple primitives, No complicated object system, No built-in automatic garbage collector following you around and stopping you periodically while it cleans up your scraps.

An important fact to know is, WebAssembly is backward compatible. In fact, there is no versioning.