Launching the WebAssembly Working Group

For over two years the WebAssembly W3C Community Group has served as a forum for browser vendors and others to come together to develop an elegant and efficient compilation target for the Web. A first version is available in 4 browser engines and is on track to become a
standard part of the Web. We’ve had several successful
in-person CG meetings, while continuing our robust online collaboration on github. We also look forward to engaging the wider W3C community at the WebAssembly meeting at this year’s TPAC.

With the formation of this Working Group, we will soon be able to recommend an official version of the WebAssembly
specification.

For those of you unfamiliar with WebAssembly, its initial goal is to
provide a good way for C/C++ programs to compile to run on the Web, safely and at near-native speeds.

WebAssembly improves or enables a ranges of use cases, including:

Games

Video + Audio Codecs, Custom Compression for data, 3D-models

Media editing tools

Speech synthesis and recognition

Client-side computer vision

Porting existing fat clients to the Web

Anything that needs to run as fast as possible!

WebAssembly is also about bringing more programming languages to the Web.

By offering a compact and well specified compilation target, WebAssembly enables not only compiled languages like C/C++ and Rust, but also interpreted languages like Lua, Python, and Ruby. As we enhance WebAssembly to support managed objects and better DOM+JS
bindings, the list of supported languages will continue to grow.

Even if you develop primarily in JavaScript, you’ll benefit as a wealth of libraries from other languages are exposed to JavaScript. Imagine using JavaScript to access powerful libraries from outside the Web for things like physical simulation, fast number crunching, and machine learning.

There is still a lot of work to do with WebAssembly, which we will continue to incubate in our Community Group. We plan to make Wasm an even better compilation target and are already exploring adding features like: threads, managed object support, direct DOM/JS bindings, SIMD, and memory mapping.

Expanding the range of languages WebAssembly can naturally handle is something the Community Group is already in the early stages of exploring for future versions. At the last Community Group meeting, avenues to add managed objects as well as better bindings with JS+DOM were discussed:https://github.com/WebAssembly/meetings/blob/master/2017/CG-07.md

Interested folks should get involved with the CG to help shape direction and priorities. With WebAssembly we’re striving to emphasize our community group in the incubation of future enhancements.

The W3C blog is for discussions within W3C and the Web community at large. Announcements, issues on Web standards and educational materials among other topics are posted here; see the W3C home page for official announcements from W3C.