W3C

Launching the WebAssembly Working Group

We’d like to announce the formation of a 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.

A warm thanks to everyone involved with the WebAssembly effort.

Keep expecting the Web to do more!

2 thoughts on “Launching the WebAssembly Working Group

  1. WebAssembly is the best invention for the web within the last 10 oder more years.

    In my experience the most web devolopers don’t speak C/C++/Rust.

    Therefore webassemly could get a bombastic boost if it would be possible, transpiling JavaScript to WebAssembly.

    In order to have a typed language, which is necessary for WebAssembly, it should be possible to transpile/compile e.g. TypeScript to webassembly. Many web developers are speaking TypeScript.

    Perfect would be, if e.g. a future version of ECMA Script has a “strongly typed mode”, which could be switched on for transpiling/compiling to WebAssembly.

    1. 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.

Leave a Reply

Your email address will not be published. Required fields are marked *