WebAssembly was announced last year as a great revolution in the way code could be run in a browser. At the time it all seemed very vague and a long way from a practical proposition but slowly things are coming together. In theory Google, Mozilla, Microsoft and Apple are working on defining and implementing WebAssembly withing the W3C WebAssembly Community but today's announcements are notable for the absence of Apple and Webkit.
There is also a demo program showing how fast WebAssembly can run a 3D game. The game, Angry Bots, can be run in WebAssembly or using asm.js.
You can see how the Mozilla team describes the difference between processng asm.js and WebAssembly:
The Mozilla blog suggests that the demo game compiles in about half the time it takes for asm.js.
At the moment the ASTs are transferred in human readable form, but the next stage is to convert them to a compact binary format. This will make them smaller and hence load faster.
On the game's GitHub page is also a status report:
WebAssembly Demo Status
Early multi-browser support
Runs in experimental builds of Chromium, Firefox, and Edge.
Full execution semantics implemented.
Stable binary format
Binary format will be updated to match design iterations, until it is frozen for stable release.
Standard textual encoding
Textual encoding will be standardized before stable release.
A mature toolchain for compiling and debugging WebAssembly will be available before stable release.
Stable JS API
The Wasm object will be updated to allow additional behavior and introspection before stable release
You can see that there is still some way to go.
What is also missing are the toolchains needed to create WebAssembly. These are under development but as the V8 blog says:
We’re also planning future WebAssembly features (including multi-threading, dynamic linking, and GC / first-class DOM integration) and continuing the development of toolchains for compiling C, C++, and other languages via the WebAssembly LLVM backend and Emscripten.
At the momement none of this is usable for production apps, but it is proof that WebAssembly is coming. There are plans to change the details of most of what is on offer at the moment. The Firefox blog suggests that the as well as the basics they plan to augment the browser devtools to include a WebAssembly debugger and profiler.
As the annual lottery for H-1B visas that enable US companies to recruit highly educated foreign workers to work in "speciality occupations" gets underway, a memo relating to computer programmer jobs [ ... ]