Skip to content

WebAssembly#

WebAssembly (sometimes abbreviated Wasm) defines a portable binary-code format and a corresponding text format for executable programs as well as software interfaces for facilitating interactions between such programs and their host environment.

The main goal of WebAssembly is to enable high-performance applications on web pages, “but it does not make any Web-specific assumptions or provide Web-specific features, so it can be employed in other environments as well.” It is an open standard and aims to support any language on any operating system, and in practice all of the most popular languages already have at least some level of support.

Read more on Wikipedia.

Sites#

Standards and interfaces#

  • Component Model: A module interface
    • WASI: The WebAssembly System Interface
      • wasi-nn: Neural Network proposal for WASI
      • WAGI: WebAssembly Gateway Interface
  • Extism: The Universal Plug-in System

Example modules#

  • Wavacity: A free, open source audio editor for the web

Runtimes#

Toolchains#

  • Binaryen: Optimizer and compiler/toolchain library for WebAssembly
  • Cranelift: A low-level retargetable code generator. It translates a target-independent intermediate representation into executable machine code
  • Emscripten: A complete compiler toolchain to WebAssembly, using LLVM, with a special focus on speed, size, and the Web platform
  • Wasienv: WASI Development Toolchain for C/C++

Tools#

Community#

Forums#
Companies and organizations#
News#
Showcase#

Resources#

Text#
Video#