W3C

W3C Strategic Highlights: Strengthening the Core of the Web (Web Assembly)

Web Assembly logo

(This post is part of a series recapping the October 2018 W3C Strategic Highlights and does not include significant updates since that report.)

WebAssembly improves Web performance and power by being a virtual machine and execution environment enabling loaded pages to run native (compiled) code. It is deployed in Firefox, Edge, Safari and Chrome.

WebAssembly enables near-native performance, optimized load time, and perhaps most importantly, a compilation target for existing code bases. While it has a small number of native types, much of the performance increase relative to Javascript derives from its use of consistent typing. WebAssembly leverages decades of optimization for compiled languages and the byte code is optimized for compactness and streaming (the web page starts executing while the rest of the code downloads). It is currently mostly used for C++, Rust and Kotlin but compilers are being developed for other languages. Network and API access all occurs through accompanying Javascript libraries — the security model is identical to that of Javascript.

The work is divided between the Community Group (1041 members) and the Working Group (43 members). Feature prioritization and technology development occurs in the CG; test production, community review and Recommendation Track documents are developed in the WG.

Features in the pipeline:

  • SIMD (single instruction, multiple data): make loops like forEach execute in parallel.
  • Threads
  • Exceptions
  • JS-like:
    • access to DOM
    • library module interface like ES6
  • Shared memory (access to SharedArrayBuffer)

For more information, see All WebAssembly specifications.

Leave a Reply

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