Skip to content

WebAssembly

Awesome WebAssembly Awesome

Wasm Logo A curation of WebAssembly resources, projects, and communities.

WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.

Resources

Basics

Articles

Books

Videos

Projects

Compilers

  • Emscripten - Compile C and C++ to WebAssembly.
  • AssemblyScript - TypeScript-like language compiled to WebAssembly.
  • Binaryen - Compiler infrastructure for WebAssembly.
  • TinyGo - Go compiler for WebAssembly.

Runtimes

  • Wasmtime - Standalone WebAssembly runtime.
  • WasmEdge - High-performance WebAssembly runtime.
  • WAVM - WebAssembly virtual machine.
  • Wasm3 - Small, fast WebAssembly interpreter.
  • Wasmer - WebAssembly runtime for desktop, cloud, and edge.

Libraries

  • wasm-bindgen - Interoperability between Rust and JavaScript.
  • wasmer-js - WebAssembly runtime for JavaScript.
  • wasm-pack - Build, test, and publish Rust-generated Wasm.
  • Wabt - WebAssembly binary tolkit.
  • WASI - WebAssembly system interface.

Tools

  • Wasm Explorer - Visualize and debug WebAssembly binaries.
  • wasm2c - Convert WebAssembly binaries to C.

Frameworks

  • Blazor - .NET web framework running on WebAssembly.
  • Yew - Rust framework for building web applications using WebAssembly.
  • Leptos - Full-stack Rust framework for WebAssembly web apps.

Communities

Contributing

Contributions are welcome. Please read the contribution guidelines before submitting your changes.