WebAssembly now available as release candidate

A browser preview backed by Google, Mozilla, and Microsoft is now ready, with the final official specification expected in Q1 of 2017

WebAssembly now available as release candidate
Rock1997 (CC BY-SA 4.0)

WebAssembly, the much-anticipated portable code format positioned to boost web performance, proceeded to a release candidate stage Monday. The technology is expected to be shipped on-by-default in browsers after a specification release next year.

The WebAssembly Browser Previewis the product of a collaboration between Google's V8 JavaScript Engine group, Mozilla's Firefox group, and Microsoft's Edge browser builders. It serves as a release candidate for WebAssembly's "minimum viable product" design and includes semantics, a binary format, and a JavaScript API, the V8 group said. A working toolchain also is now available for developers to compile WebAssembly modules from C/C++ source files.

"I'm happy to say now that we have a binary format release candidate, and there are compatible implementations already in trunk SpiderMonkey and V8 with active ongoing work in Chakra and JavaScriptCore," said Mozilla's Luke Wagner, a software engineer.

Microsoft also noted its progress with WebAssembly. "We've been hard at work developing support for WebAssembly in Microsoft Edge at the open source ChakraCore project repo," said Limin Zhiu, program manager for Microsoft's Chakra JavaScript engine. "Microsoft Edge and ChakraCore are close to shipping the browser preview, which we expect to come when the full JavaScript APIs are implemented."

"Barring major design changes arising from community feedback, the WebAssembly Community Group plans to produce an official specification in Q1 2017, at which point browsers will be encouraged to ship WebAssembly on-by-default," the V8 group said. "From that point forward, the binary format will be reset to version 1 and WebAssembly will be version-less, feature-tested, and backwards-compatible." But Wagner cautioned, "Things will change right up until the standard is marked done and WebAssembly is enabled in browsers -- and then it's back to don't break the Web as usual."

Since WebAssembly is still behind a flag in Chrome (chrome://flags/#enable-webassembly), it is not yet recommended for production use. "However, the Browser Preview period marks a time during which we are actively collecting feedback on the design and implementation of the spec. Developers are encouraged to test out compiling and porting applications and running them in the browser," the V8 group said. V8 is optimizing WebAssembly in the TurboFan compiler, and an alternative asm.js pipeline converting asm.js to WebAssembly so that existing asm.js sites can benefit from WebAssembly ahead-of-time compilation is nearing completion.

WebAssembly could become the "safe native format" for the web, JavaScript founder Brendan Eich has said. In addition to Google, Microsoft, and Mozilla, Apple and the World Wide Web Consortium also have backed WebAssembly.

Copyright © 2016 IDG Communications, Inc.