WebAssembly, a portable code format that could make for a faster web, has moved to minimum viable product (MVP) status, with browser vendors now able to switch WebAssembly on by default.
A recent bulletin from Mozilla Senior Staff Engineer Luke Wagner said representatives of the four major browsers agreed that the design and binary format were complete to the extent that no further design work was doable without implementation experience and significant usage. Browsers represented included Google Chrome, Microsoft Edge, Mozilla Firefox, and WebKit, which is Apple's browser engine for Safari, according to the bulletin posted on a World Wide Web Consortium mailing list.
From this point forward, features will be designed to ensure backward compatibility, said Wagner, who has been working on WebAssembly. "We expect to see WebAssembly in Firefox and Chrome this month," Wagner said on Friday afternoon. "We can't speak for the release schedules of Edge and Safari, but since both browsers' engines are open source, we can observe compatible implementations, which would allow them to ship this year."
Developers can test WebAssembly today using the Emscripten tool chain. Next steps for the project include forming a W3C working group to produce a specification for the initial version of WebAssembly and to keep iterating on future features.
WebAssembly could possibly use other languages, such as Python, in the browser, depends on the language's ecosystem, Wagner said. "One requirement for supporting a language is that WebAssembly provides the necessary features to run that language efficiently. For many languages, this requires adding garbage collection [memory management] features to WebAssembly, which is on the road map but will take at least a year or two." The other challenge of supporting a language is porting over language libraries and frameworks to run in a browser and use web APIs.