WebAssembly logo

It took only two years for all browser vendors to get on the same page regarding the new WebAssembly standard, and as of October 2017, all major browsers support it.

Work on WebAssembly began in April 2015, when browser makers joined forces to create a binary (bytecode) format for the web.

WebAssembly came at the right time

The standard was supposed to provide a way to deliver JavaScript code compiled as highly-optimized bytecode. The advantage was that bytecode is many times smaller than the code from which it's been compiled, meaning it could be used to save bandwidth on mobile devices, and help improve page loading times for modern websites and web apps that have gotten bulkier across the years.

Another advantage is that bytecode is also easier to read for browsers, providing a more structured data format and faster code parsing times.

In addition, WebAssembly also allows developers to write code in C, C++, or Rust, and then compile to wasm directly, without having to transpile the code to JavaScript first.

WebAssembly popular from the start. Work progressed quickly

Even from the day of the announcement, WebAssembly was insanely popular with the online gaming industry who could create more advanced gaming engines, similar to the ones used for desktop-based games.

All these positive features and potential gains were the reason why Mozilla engineers called the feature a "game changer for the web" and were also the reason why work on WebAssembly went much smoother and faster than many could have predicted.

While many expected discussions to get bogged down for years, similar to many other standards, by March 2016, less than a year after work on the standard began via a W3C working group and a GitHub page, the WebAssembly group had already put the finishing touches on the standard's core features.

Seven months later, in October 2016, Google, Microsoft, and Mozilla were already shipping browser previews with WebAssembly support, and by March 2017, the next year, work on the standard was officially over, with all major browser vendors reaching a "cross-browser consensus" on the final WebAssembly version.

With work on the standard officially wrapped up in the spring, browser makers shipped wasm support in their stable branches during the following months.

Safari and Edge are the last major browsers to support it

Firefox and Chrome were the first major browsers to graduate WebAssembly from preview versions to their respective stable branches over the summer.

Chromium-based browsers like Opera and Vivaldi also rolled out the feature as soon as it was added to the Chromium stable version.

The last ones to ship WebAssembly in the stable branches were Apple in Safari 11.0 and Microsoft in Microsoft Edge (EdgeHTML 16), the version that shipped with the Windows 10 Fall Creators Update, both released last month.

Currently, the standard is a resounding success. WebAssembly has already shipped in many Facebook games thanks to wasm-centric game engines released by the likes of Unity and Epic. In addition, WebAssembly has already made a name for itself on the malware scene where in-browser cryptocurrency miners like Coinhive and CryptoLoot wouldn't have ever been possible without it.

If you need more info on the standard, below is a video put together by Mozilla engineers on WebAssembly's capabilities and inner workings, a video put together in March this year after the standard reached cross-browser consensus.