WebAssembly is now ready for browsers to use

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.

webassembly-screenshot

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.

WebAssembly is a highly touted effort that not only is set to run web apps in the browser at near-native speeds but also allow for other languages to be used for browser programming beyond JavaScript. The effort has drawn praise from JavaScript founder Brendan Eich, who recently expressed concern that the four browser vendors might end up disunifying over the project, thus jeopardizing it. But Wagner said proponents for all four browsers have been active and participate in the WebAssembly Community Group.

For developers, WebAssembly provides fast load times for large codes and predictable, near-native runtime performance, Wagner said. "This enables developers to bring functionality and experiences to the web that might have otherwise been gated on JavaScript." Since WebAssembly can be used as a library from JavaScript, JavaScript developers can utilize WebAssembly’s performance through libraries and frameworks.

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.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.