Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Browser Vendors Start Shipping WebAssembly by Default

Browser Vendors Start Shipping WebAssembly by Default

This item in japanese

The browser vendors working on WebAssembly have reached a "consensus" on an initial implementation set, allowing browsers to ship it on by default.

Back in November 2016, WebAssembly reached the browser preview stage where the major browsers had a version available to test behind a flag. The ensuing months allowed browser vendors to refine and agree upon a JavaScript API and a binary format. The announcement post draws a line in the WebAssembly sand:

[The browser vendors] have reached consensus that the design of the initial WebAssembly API and binary format is complete to the extent that no further design work is possible without implementation experience and significant usage.

This marks the end of the Browser Preview and signals that browsers can begin shipping WebAssembly on-by-default. From this point forward, future features will be designed to ensure backwards compatibility.

While this is an important milestone, the initial implementation won't immediately result in significant uptake by developers. There's a lot of potential, but language support is currently limited to C/C++, along with early support from Rust. There is no garbage collector provided, so languages like C# and Java wouldn't work without shipping their own runtime as part of the binary. There are discussions, however, on adding garbage collection in the future.

In addition, WebAssembly currently lacks important features such as DOM interaction. Mozilla Engineer Lin Clark writes that "lots of features are expected", but that those features need to "go through the specification process." The WebAssembly Community Group has already come up with a list of future features for a new W3C Working Group to start with. There's no timeline for when these features may become available.

In a series of posts, Clark writes about what makes WebAssembly fast, and that its introduction may be an "inflection point" that leads to unknown performance gains and the ability to take on new challenges.

In the coming years, browser vendors will continue to improve the interaction between JavaScript and WebAssembly just as they continue to improve the performance of the JIT compilers.

Firefox 52 — available now — has WebAssembly enabled and Chrome will enable it by default in version 57 set for release on March 14th, 2017.

Rate this Article