4. What’s WebAssembly?
WebAssembly is currently being designed as
an open standard by a W3C Community
Group that includes representatives from all
major browsers.
6. Step 1: Minimum Viable Product
The MVP will contain features which are available today in
modern web browsers and which perform well even on
mobile devices, which leads to roughly the same
functionality as asm.js.
7. asm.js
A strict subset of JavaScript that can be used as a low-
level, efficient target language for compilers.
The asm.js language provides an abstraction similar to the
C/C++ virtual machine: a large binary heap with efficient
loads and stores, integer and floating-point arithmetic,
first-order function definitions, and function pointers.
Tools like emscripten could compile C and C++ into
highly-optimizable JavaScript in asm.js format. This lets
you run C and C++ on the web at near-native speed,
without plugins.
8. Step 1: Minimum Viable Product
Validation, execution and module semantics
Binary encoding
Textual format
Cross-browser support
Polyfill-able in JS
9. Step 2: Soon After MVP
Some features are known to be essential and
needed as soon as possible but aren't in the
Minimum Viable Product (MVP) because
there isn't yet a portably-efficient polyfill via
JavaScript.
11. Step 3: Future Versions
These are features that make sense in the
context of the high-level goals of
WebAssembly but are not considered part of
the Minimum Viable Product or the essential
post-MVP feature set which are expected to
be standardized immediately after the MVP.
12. Step 3: Future Versions
Great tooling support
Finer-grained control over memory
More expressive control flow
GC/DOM Integration