WASM. The Universal Binary.

WebAssembly is a stack-based virtual machine designed to meet the needs of a ever demanding web wanting to get more power and performance from their website and now web apps. It’s designed to be language-agnostic, others target it, and has no formal language or standard library of it’s own. This allows it to very small, efficient and flexible. In the past, these languages would have to compile down to Javascript, known as transcompiling, with subpar results. Even though the language had come a long way since the Google’s V8 engine, Javascript is still just a scripting language (and a strange one, at that).

But what makes WebAssembly really different from any other virtual machine before it, e.g. Java and .NET, aside from being language-agnostic, is that it’s just a specification. There is no single VM or corporates overhead. Just a specification to allow anyone can create their own for any purpose. No one person can monopolize it.

Fundamentally, while it is intended for the web, the standards committee fully acknowledges it’s use as a stand-alone platform. This means that you can write an application in Rust, for example, and have that WebAssembly binary run on any operating system and processor. And because it’s just a specification, it can literally be anywhere. There are already runtimes, such as wasmtime and wasmer, that are standalone WebAssembly virtual machines. WebAssembly makes it possible to do what Java takes pride in, “write once, run anywhere,” but without the language barriers.

However, WebAssembly as it exists in it’s current form is pretty bare bones. It lacks interacting with DOM, multi-threading, garbage collecting, and a proper systems API for standalone applications. These are all still being researched and will have to go through the same adaption process as HTML5 once did. But it will be worth it.

Artist, writer, programmer and all out chill guy.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store