Files
awesome-awesomeness/html/wasm.html
2025-07-18 23:13:11 +02:00

939 lines
41 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-wasm-awesome">Awesome Wasm <a
href="https://awesome.re"><img src="https://awesome.re/badge.svg"
alt="Awesome" /></a></h1>
<p>Collection of awesome things regarding the WebAssembly (wasm)
ecosystem.</p>
<p>Please read the <a href="CONTRIBUTING.md">contribution guidelines</a>
if you want to contribute.</p>
<h2 id="contents">Contents</h2>
<ul>
<li><a href="#general-resources">General Resources</a></li>
<li><a href="#online-playground">Online Playground</a></li>
<li><a href="#tutorials">Tutorials</a></li>
<li><a href="#compilers">Compilers</a></li>
<li><a href="#non-web-embeddings">Non-Web Embeddings</a></li>
<li><a href="#projects">Projects</a>
<ul>
<li><a href="#ai">AI</a></li>
<li><a href="#apache-server">Apache Server</a></li>
<li><a href="#web-frameworks-libraries">Web
frameworks-libraries</a></li>
<li><a href="#data-processing">Data processing</a></li>
<li><a href="#webgl">WebGL</a></li>
<li><a href="#webpack">webpack</a></li>
<li><a href="#browserify">Browserify</a></li>
<li><a href="#nodejs">Node.js</a></li>
<li><a href="#net">.NET</a></li>
<li><a href="#others">Others</a></li>
</ul></li>
<li><a href="#languages">Languages</a>
<ul>
<li><a href="#esoteric">Esoteric</a></li>
<li><a href="#forth">Forth</a></li>
<li><a href="#go">Go</a></li>
<li><a href="#javascript-family">JavaScript-family</a></li>
<li><a href="#kotlin">Kotlin</a></li>
<li><a href="#lua">Lua</a></li>
<li><a href="#ocaml">OCAML</a></li>
<li><a href="#python">Python</a></li>
<li><a href="#prolog">Prolog</a></li>
<li><a href="#rust">Rust</a></li>
<li><a href="#wasm-like">WASM-like</a></li>
<li><a href="#other">Other</a></li>
</ul></li>
<li><a href="#tools">Tools</a>
<ul>
<li><a href="#editor">Editor</a></li>
<li><a href="#kits">Kits</a></li>
</ul></li>
<li><a href="#gists">Gists</a></li>
<li><a href="#examples">Examples</a></li>
<li><a href="#benchmarks">Benchmarks</a></li>
<li><a href="#job-boards">Job Boards</a></li>
<li><a href="#articles">Articles</a></li>
<li><a href="#video">Video</a></li>
<li><a href="#slides">Slides</a></li>
<li><a href="#community">Community</a></li>
<li><a href="#books">Books</a></li>
<li><a href="#papers">Papers</a></li>
<li><a href="#demos">Demos</a></li>
<li><a href="#resources-in-other-languages">Resources in other
languages</a>
<ul>
<li><a href="#russian">Russian</a></li>
<li><a href="#simple-chinese">Simple Chinese</a></li>
<li><a href="#spanish">Spanish</a></li>
</ul></li>
</ul>
<h2 id="general-resources">General Resources</h2>
<ul>
<li><a href="http://webassembly.org/">Official Site</a></li>
<li><a href="https://github.com/webassembly">GitHub</a></li>
<li><a
href="https://developer.mozilla.org/en-US/docs/WebAssembly">WebAssembly
MDN</a></li>
<li><a href="https://en.wikipedia.org/wiki/WebAssembly">WebAssembly
Wikipedia</a></li>
<li><a href="https://webassembly.github.io/spec/">WebAssembly
Specification</a></li>
</ul>
<h2 id="online-playground">Online Playground</h2>
<ul>
<li><a href="https://mbebenita.github.io/WasmExplorer/">WebAssembly
Explorer</a></li>
<li><a href="https://github.com/MaxGraey/Assembleash">Assembleash -
WebAssembly and Typescript-like languages playground</a></li>
<li><a
href="https://cdn.rawgit.com/WebAssembly/wabt/fb986fbd/demo/wat2wasm/">Wat2Wasm</a></li>
<li><a
href="https://cdn.rawgit.com/WebAssembly/wabt/fb986fbd/demo/wasm2wat/">Wasm2Wat</a></li>
</ul>
<h2 id="tutorials">Tutorials</h2>
<ul>
<li><a
href="http://webassembly.org/getting-started/developers-guide/">Developers
Guide</a></li>
<li><a href="https://wasmbyexample.dev/">Wasmbyexample - Hands-On
Introduction Examples and Tutorials for Webassembly</a></li>
<li><a
href="https://awesome.red-badger.com/chriswhealy/introduction-to-web-assembly-text">Introduction
to WebAssembly Text (2021)</a></li>
<li><a
href="https://evilmartians.com/chronicles/hands-on-webassembly-try-the-basics">Hands-On
Webassembly: Try the Basics (2020)</a></li>
<li><a
href="https://platform.uno/blog/using-webassembly-modules-in-c/">Using
WebAssembly modules in C# (2020)</a></li>
<li><a
href="https://aralroca.com/blog/first-steps-webassembly-rust">First
steps with WebAssembly in Rust (2020)</a></li>
<li><a
href="https://cggallant.blogspot.com/2020/07/webassembly-threads-in-firefox.html">WebAssembly
threads in Firefox (2020)</a></li>
<li><a
href="https://cggallant.blogspot.com/2020/01/the-import-statement-with-emscripten.html">Using
the import statement with an Emscripten-generated module in Vue.js
(2020)</a></li>
<li><a
href="https://medium.com/@robaboukhalil/hit-the-ground-running-with-webassembly-56cf9b2fa35d">Hit
the Ground Running with WebAssembly (2019)</a></li>
<li><a
href="https://github.com/unoplatform/workshops/tree/master/uno-bootcamp">Uno
Platform Bootcamp - single-source WASM &amp; Mobile app tutorial
(2019)</a></li>
<li><a
href="https://medium.com/@robaboukhalil/porting-games-to-the-web-with-webassembly-70d598e1a3ec?source=friends_link&amp;sk=20c835664031227eae5690b8a12514f0">Porting
Games to the Web with WebAssembly (2019)</a></li>
<li><a
href="https://opensource.com/article/19/4/command-line-playgrounds-webassembly">Level
up Command-line Playgrounds with WebAssembly (2019)</a></li>
<li><a
href="https://codelabs.developers.google.com/codelabs/hour-chipmunk/index.html">WebAssembly
Physics and DOM objects (2018)</a></li>
<li><a
href="https://egghead.io/courses/introduction-to-webassembly">egghead.io:
Get Started Using WebAssembly (WASM)(2017)</a></li>
<li><a
href="https://hoverbear.org/2017/04/06/the-path-to-rust-on-the-web/">The
Path to Rust on the Web (2017)</a></li>
<li><a
href="http://blog.openbloc.fr/webassembly-first-steps/">WebAssembly 101:
a developer first steps (2017)</a></li>
<li><a
href="http://floooh.github.io/2017/02/22/emsc-html.html">Emscripten/HTML
Integration Tips (2017)</a></li>
<li><a
href="https://hackernoon.com/compiling-rust-to-webassembly-guide-411066a69fde">Compiling
Rust to WebAssembly Guide (2017)</a></li>
<li><a
href="https://hackernoon.com/how-to-get-a-performance-boost-using-webassembly-8844ec6dd665">How
to get a performance boost using WebAssembly (2017)</a></li>
<li><a
href="http://thecodebarbarian.com/getting-started-with-webassembly-in-node.js.html">Getting
Started With WebAssembly in Node.js (2017)</a></li>
<li><a
href="http://cultureofdevelopment.com/blog/build-your-first-thing-with-web-assembly/">Build
Your First Thing With WebAssembly (2016)</a></li>
<li><a
href="https://medium.com/@MadsSejersen/webassembly-the-missing-tutorial-95f8580b08ba">WebAssemblyThe
missing tutorial (2016)</a></li>
<li><a
href="https://tutorials.technology/tutorials/11-webassembly-initial-steps-tutorial.html">Webassembly
initial steps tutorial (2016)</a></li>
<li><a href="https://www.webassemblyman.com">WebAssemblyMan man page
for WebAssembly.</a></li>
</ul>
<h2 id="compilers">Compilers</h2>
<ul>
<li><a href="http://kripken.github.io/emscripten-site/">Emscripten -
LLVM-based project that compiles C and C++</a></li>
<li><a href="https://github.com/WebAssembly/binaryen">Binaryen -
Binaryen is a compiler and toolchain infrastructure library for
WebAssembly, written in C++</a></li>
<li><a href="https://blog.rust-lang.org/2016/12/22/Rust-1.14.html">Rust
- A safe, concurrent, practical language</a></li>
<li><a href="https://github.com/kg/ilwasm">ilwasm - CIL to WebAssembly
compiler</a></li>
<li><a
href="https://sourceware.org/ml/binutils/2017-03/msg00044.html">WebAssembly
for the GNU Toolchain</a></li>
<li><a
href="https://faust.grame.fr/community/news/index.html#faust-webassembly-backend">faust2
- Functional programming language for signal processing and sound
synthesis</a></li>
<li><a href="https://github.com/tweag/asterius">Asterius - A Haskell to
WebAssembly compiler</a></li>
<li><a
href="http://ppci.readthedocs.io/en/latest/reference/wasm.html">PPCI.wasm
- PPCI Can compile wasm to machine code and run it in the Python
process</a></li>
<li><a href="https://github.com/aykevl/tinygo">TinyGo - Go for embedded
devices and WebAssembly. Creates very small .wasm files.</a></li>
<li><a href="https://github.com/mirkosertic/Bytecoder">Bytecoder - A
Rich Domain Model for Java Bytecode and Framework to interpret and
transpile it to other languages such as JavaScript, OpenCL or
WebAssembly</a></li>
<li><a
href="https://github.com/AssemblyScript/assemblyscript">AssemblyScript -
Definitely not a TypeScript to WebAssembly compiler</a></li>
</ul>
<h2 id="non-web-embeddings">Non-Web Embeddings</h2>
<ul>
<li><a href="https://wasi.dev/">WASI - The WebAssembly System
Interface</a></li>
<li><a href="https://github.com/wasm3/wasm3">wasm3 - The fastest
WebAssembly interpreter (x86, x64, ARM, MIPS, Xtensa)</a></li>
<li><a href="https://github.com/wasmx/fizzy">fizzy - Fast,
deterministic, and pedantic WebAssembly interpreter written in clean
C++17</a></li>
<li><a
href="https://github.com/bytecodealliance/wasm-micro-runtime">wamr -
WebAssembly Micro Runtime (WAMR) is an AOT/JIT/interpreter focusing on
small footprint</a></li>
<li><a href="https://github.com/kanaka/wac">wac - WebAssembly in C
(x86)</a></li>
<li><a href="https://github.com/cretz/asmble">Asmble - WebAssembly on
the JVM</a></li>
<li><a href="https://github.com/piranna/wasmachine">wasmachine -
WebAssembly in a FPGA</a></li>
<li><a href="https://github.com/Xe/olin">Olin - WebAssembly on the
server</a></li>
<li><a href="https://github.com/wasmerio/wasmer">Wasmer - Standalone JIT
WebAssembly Runtime</a>
<ul>
<li><a href="https://github.com/wasmerio/go-ext-wasm">Wasmer for
Go</a></li>
<li><a href="https://github.com/wasmerio/python-ext-wasm">Wasmer for
Python</a></li>
<li><a href="https://github.com/wasmerio/php-ext-wasm">Wasmer for
PHP</a></li>
<li><a href="https://github.com/wasmerio/ruby-ext-wasm">Wasmer for
Ruby</a></li>
<li><a href="https://github.com/wasmerio/postgres-ext-wasm">Wasmer for
Postgres</a></li>
</ul></li>
<li><a href="https://github.com/kanaka/warpy">warpy - WebAssembly in
RPython</a></li>
<li><a href="https://github.com/poemm/pywebassembly">pywebassembly -
WebAssembly interpreter written in pure Python</a></li>
<li><a href="https://github.com/ethereum/py-wasm">py-wasm - WebAssembly
interpreter written in pure Python</a></li>
<li><a href="https://github.com/mohanson/pywasm">pywasm - WebAssembly
interpreter written in pure Python.</a></li>
<li><a href="https://github.com/webassembly/wabt">wabt - WebAssembly
toolkit and interpreter written in C++</a></li>
<li><a href="https://github.com/webassembly/binaryen">binaryen -
WebAssembly toolkit and interpreter written in C++</a></li>
<li><a href="https://github.com/go-interpreter/wagon">wagon -
WebAssembly interpter written in Go</a></li>
<li><a href="https://github.com/CraneStation/wasmtime">wasmtime -
Standalone WebAssembly Runtime</a></li>
<li><a href="https://github.com/embly/embly">embly - A serverless web
application framework for collaboration and scale</a></li>
<li><a href="https://github.com/second-state/SSVM">SSVM - WebAssembly
Virtual Machine for AI and Blockchain applications</a></li>
<li><a href="https://github.com/trailofbits/manticore">Manticore -
Symbolic execution engine with support for WebAssembly</a></li>
<li><a href="https://github.com/WAVM/WAVM">WAVM - WebAssembly virtual
machine, designed for use in non-web applications</a></li>
<li><a href="https://github.com/gballet/windtrap">windtrap - A WASM VM
written in Elixir</a></li>
<li><a href="https://github.com/extism/extism">Extism - the universal
plug-in system to make your software programmable</a></li>
<li><a href="https://github.com/OCamlPro/owi">Owi - a Wasm interpreter
written in OCaml</a></li>
</ul>
<h2 id="projects">Projects</h2>
<h3 id="ai">AI</h3>
<ul>
<li><a href="https://github.com/tantaraio/voy">Voy - A WASM vector
similarity search engine written in Rust</a></li>
</ul>
<h3 id="apache-server">Apache Server</h3>
<ul>
<li><a href="https://github.com/vmware-labs/mod_wasm">mod_wasm - An
extension module for the Apache HTTP Server that enables the usage of
WebAssembly (Wasm).</a></li>
</ul>
<h3 id="web-frameworks-libraries">Web frameworks-libraries</h3>
<ul>
<li><a href="https://github.com/lume/asdom">asdom - DOM bindings for
AssemblyScript, write DOM code just like in TypeScript, but compiled to
WebAssembly, by LUME</a></li>
<li><a href="https://github.com/mbasso/asm-dom">asm-dom - A minimal
WebAssembly virtual DOM to build C++ SPA</a></li>
<li><a
href="https://dotnet.microsoft.com/apps/aspnet/web-apps/client">Blazor -
Microsofts web UI framework using C#/Razor and HTML, running
client-side via WebAssembly</a></li>
<li><a href="https://github.com/DenisKolodin/yew">Yew - Rust framework
for making client web apps</a></li>
<li><a href="https://github.com/jpmorganchase/perspective">Perspective -
Streaming pivot visualization via WebAssembly</a></li>
<li><a href="https://github.com/mfrachet/go-vdom-wasm">go-vdom-wasm -
Webassembly VDOM to create web application using
Golang(experimental)</a></li>
<li><a href="https://seed-rs.org/">seed - A Rust framework for creating
web apps</a></li>
<li><a href="https://www.vugu.org/">Vugu - A modern UI library for
Go+WebAssembly</a></li>
<li><a href="https://vecty.io">Vecty - Lets you build responsive and
dynamic web frontends in Go using WebAssembly</a></li>
<li><a href="https://github.com/lastmjs/zwitterion">Zwitterion - A web
dev server that lets you import anything*</a></li>
</ul>
<h3 id="data-processing">Data processing</h3>
<ul>
<li><a href="https://github.com/fiatjaf/jq-web">jq-web - the JSON
processing tool jq ported to the web with Emscripten</a></li>
</ul>
<h3 id="webgl">WebGL</h3>
<ul>
<li><a href="https://github.com/kripken/ammo.js">ammo.js - direct port
of the Bullet physics engine to JavaScript using Emscripten</a></li>
<li><a href="https://github.com/lume/glas">glas - Web<strong>GL</strong>
in WebAssembly with <strong>A</strong>ssembly<strong>S</strong>cript, by
LUME</a></li>
<li><a href="https://github.com/leefsmp/Particle-System">Particle System
- an experiment designed to benchmark web technologies: ES6, Emscripten
and Web Assembly</a></li>
<li><a href="https://floooh.github.io/oryol/">Oryol - a small, portable
3D coding framework written in C++</a></li>
</ul>
<h3 id="webpack">webpack</h3>
<ul>
<li><a href="https://github.com/ballercat/wasm-loader">wasm-loader -
WASM webpack loader</a></li>
<li><a
href="https://github.com/ClickSimply/cpp-wasm-loader">cpp-wasm-loader -
C/C++ to WASM Webpack loader optimized for small bundle sizes</a></li>
</ul>
<h3 id="browserify">Browserify</h3>
<ul>
<li><a href="https://github.com/browserify/rustify">rustify - Rust
WebAssembly transform for Browserify</a></li>
</ul>
<h3 id="node.js">Node.js</h3>
<ul>
<li><a href="https://github.com/dcodeIO/webassembly">webassembly - A
minimal toolkit and runtime to produce and run WebAssembly
modules.</a></li>
<li><a href="https://github.com/ashleygwilliams/wasm-pack">wasm-pack -
pack up the wasm and publish it to npm!</a></li>
<li><a href="https://github.com/mfrachet/go-wasm-cli">go-wasm-cli -
Minimalistic cli to create and run (with hot reload) Go application
targeting WASM</a></li>
<li><a href="https://github.com/raphamorim/xwasm">xwasm - WebAssembly
Packager and WASM tooling for modern frontend</a></li>
</ul>
<h3 id="net">.NET</h3>
<ul>
<li><a href="https://github.com/nventive/Uno">Uno Platform - An
implementation of Microsofts UWP APIs for
iOS/Android/WebAssembly/Linux/macOS, using C#/XAML on top of
mono-wasm</a></li>
<li><a href="https://github.com/praeclarum/Ooui">Ooui.Wasm - A
Xamarin.Forms backend for WebAssembly, using C#/XAML on top of
mono-wasm</a></li>
</ul>
<h3 id="others">Others</h3>
<ul>
<li><a href="https://github.com/shamadee/wasm-init">wasm-init - Work
environment and code generator for WebAssembly projects</a></li>
<li><a href="https://github.com/athre0z/wasm">wasm - Python WebAssembly
decoder &amp; disassembler library</a></li>
<li><a href="https://github.com/dmlc/mxnet.js/">MXnet.js - ASM.js build
of MXNet, deep learning (neural nets and so) library</a></li>
<li><a href="https://floooh.github.io/virtualkc/index_wasm.html">YAKC -
a multi-system 8-bit emulator written in C++</a></li>
<li><a href="https://github.com/becavalier/eufa">Eufa - a high efficient
utility functions library written in webassembly</a></li>
<li><a href="https://github.com/antelle/argon2-browser">Argon2 in
browser - Argon2 library compiled for browser runtime</a></li>
<li><a href="https://github.com/kwonoj/cld3-asm">cld3-asm - Wasm based
JS binding for Google compact language detector 3</a></li>
<li><a href="https://github.com/kwonoj/hunspell-asm">hunspell-asm - Wasm
based JS binding for Hunspell spellchecker</a></li>
<li><a href="https://github.com/alexcrichton/wasm-bindgen">wasm-bindgen
- Interoperating JS and Rust code</a></li>
<li><a href="https://github.com/ewasm">ewasm - Ethereum flavored
WebAssembly</a></li>
<li><a href="https://github.com/GoogleChromeLabs/webm-wasm">webm-wasm -
Create webm videos in JavaScript via WebAssembly</a></li>
<li><a href="https://github.com/jussiniinikoski/wasm-pdf">wasm-pdf
Generate PDF files with JavaScript/WASM</a></li>
<li><a href="https://github.com/talentlessguy/go-web-app">go-web-app
Quickly setup Go + WebAssembly frontend apps</a></li>
<li><a href="https://gotemplate.io/">gotemplate.io Quicky test and
visualize your Go templates live</a></li>
<li><a href="https://github.com/sola-st/WasmBench">WasmBench - A large
dataset of real-world WebAssembly binaries, collected from the Web,
GitHub, NPM and more</a></li>
<li><a href="https://ddddddo.github.io/gtree/">gtree - Web app that
converts from Markdown to tree using WebAssembly</a></li>
<li><a href="https://github.com/eunomia-bpf/wasm-bpf">wasm-bpf - A
WebAssembly eBPF library, toolchain and runtime to help you build eBPF
programs to Wasm and run in kernel.</a></li>
<li><a href="https://github.com/originjs/crypto-js-wasm">crypto-js-wasm
- An alternate to crypto-js implemented with WebAssembly and
ESM</a></li>
<li><a href="https://github.com/hullarb/ssheasy">ssheasy - An online ssh
and sft client</a></li>
</ul>
<h2 id="languages">Languages</h2>
<h3 id="esoteric">Esoteric</h3>
<ul>
<li><a href="https://github.com/serprex/befunge">funge.js - A Befunge
JIT</a></li>
</ul>
<h3 id="forth">Forth</h3>
<ul>
<li><a href="https://github.com/remko/waforth">WAForth - Bootstrapping
Dynamic Forth Interpreter/Compiler for &amp; in WebAssembly</a></li>
</ul>
<h3 id="go">Go</h3>
<ul>
<li><a href="https://github.com/golang/go/wiki/WebAssembly">Go - Go
programming language WebAssembly support</a></li>
<li><a
href="https://www.sitepen.com/blog/compiling-go-to-webassembly/">Compiling
Go to WebAssembly</a></li>
<li><a href="https://gitlab.com/AndrusGerman/vuego">VueGo - WebAssembly
Vue.js wrapper written in Go</a></li>
</ul>
<h3 id="javascript-family">JavaScript-family</h3>
<ul>
<li><a
href="https://github.com/AssemblyScript/assemblyscript">AssemblyScript -
A subset of TypeScript that compiles to WebAssembly</a></li>
<li><a
href="https://www.sitepen.com/blog/getting-started-with-assemblyscript/">Getting
Started with AssemblyScript</a></li>
<li><a href="https://github.com/01alchemist/TurboScript">TurboScript - A
TypeScript-like language that compiles to asm.js and WebAssembly
(unmaintained)</a></li>
<li><a href="https://github.com/MichaReiser/speedy.js">speedy.js -
Accelerate JavaScript Applications by Compiling to WebAssembly
(unmaintained)</a></li>
</ul>
<h3 id="kotlin">Kotlin</h3>
<ul>
<li><a href="https://kotl.in/wasm">Kotlin/Wasm (Kotlin
WebAssembly)</a></li>
</ul>
<h3 id="lua">Lua</h3>
<ul>
<li><a href="https://github.com/vvanders/wasm_lua">wasm_lua - Lua VM
running in a WASM environment</a></li>
<li><a href="https://github.com/ceifa/wasmoon">wasmoon - a high level
Lua VM with JS bindings</a></li>
</ul>
<h3 id="ocaml">OCAML</h3>
<ul>
<li><a href="https://github.com/sebmarkbage/ocamlrun-wasm">ocamlrun-wasm
- OCaml Bytecode Interpreter in WASM</a></li>
<li><a href="https://github.com/remixlabs/wasicaml/">wasicaml -
Translate OCaml Bytecode to WASM</a></li>
<li><a href="https://github.com/OCamlPro/wasocaml">Wasocaml - OCaml to
WasmGC compiler</a></li>
</ul>
<h3 id="python">Python</h3>
<ul>
<li><a href="https://github.com/iodide-project/pyodide">Pyodide - The
Python scientific stack running in the browser</a></li>
<li><a href="https://github.com/pyscript/">PyScript - Run Python Code
and the scientific stack in the browser</a></li>
<li><a href="https://python-wasm.cocalc.com/">python-wasm - WebAssembly
CPython for Node.js and the browser built using Zig (no
emscripten)</a></li>
<li><a href="https://github.com/almarklein/rocket_rust_py/">Rocket game
- Rocket, written in Rust, compiled to WASM, running in Python</a>
(using <a href="http://ppci.readthedocs.io">PPCI</a>)</li>
</ul>
<h3 id="prolog">Prolog</h3>
<ul>
<li><a href="https://ciao-lang.org/playground/">Ciao Prolog Playground
(WASM)</a></li>
</ul>
<h3 id="rust">Rust</h3>
<ul>
<li><a href="https://davidmcneil.github.io/the-rusty-web/">Rusty
Web</a></li>
<li><a href="https://github.com/paritytech/parity-wasm">parity-wasm -
WebAssembly serialization/deserialization library in pure Rust</a></li>
<li><a href="https://github.com/paritytech/wasmi">wasmi - WebAssembly
interpreter in pure Rust</a></li>
<li><a
href="https://github.com/rust-unofficial/awesome-rust">awesome-rust</a>
(<em>has scattered references to targeting WASM</em>)</li>
<li><a href="https://github.com/ruffle-rs/ruffle">Ruffle - Adobe Flash
Player emulator written in the Rust</a></li>
</ul>
<h3 id="wasm-like">WASM-like</h3>
<ul>
<li><a href="https://github.com/tmcw/wah">wah - a slightly higher-level
language superset of webassembly</a></li>
<li><a href="https://github.com/ballercat/walt">Walt - Alternative
Syntax for WebAssembly</a></li>
<li><a href="https://github.com/kanaka/wam">wam - Superset of wast
syntax that is more convenient for humans to write directly</a></li>
</ul>
<h3 id="other">Other</h3>
<ul>
<li><a href="https://github.com/lys-lang/lys">Lys - a functional
language that compiles to WebAssembly</a></li>
<li><a href="https://github.com/never-lang/never">Never - statically
typed, embeddable functional programming language</a></li>
</ul>
<h2 id="tools">Tools</h2>
<h3 id="editor">Editor</h3>
<ul>
<li><a href="https://github.com/rhysd/vim-wasm">vim-wasm - WebAssembly
filetype support for Vim</a></li>
<li><a
href="https://marketplace.visualstudio.com/items?itemName=ukyo.wast">vscode
wast - WebAssembly(S-expression) support</a></li>
<li><a href="https://atom.io/packages/language-wast">Atom
language-wast</a></li>
<li><a
href="https://marketplace.visualstudio.com/items?itemName=dtsvet.vscode-wasm">vscode-wasm
- WebAssembly toolkit for vscode</a></li>
</ul>
<h3 id="kits">Kits</h3>
<ul>
<li><a href="https://github.com/WebAssembly/wabt">WABT - A suite of
tools that help working with WASM binary files</a></li>
<li><a
href="https://github.com/mafintosh/webassembly-binary-toolkit">webassembly-binary-toolkit
- The WABT tools installable as an npm package</a></li>
<li><a href="https://github.com/OCamlPro/owi">Owi - A WebAssembly
toolkit and cross-language bug-finder</a></li>
</ul>
<h2 id="gists">Gists</h2>
<ul>
<li><a
href="https://gist.github.com/kripken/59c67556dc03bb6d57052fedef1e61ab">Standalone
WebAssembly Example</a></li>
<li><a
href="https://gist.github.com/yurydelendik/4eeff8248aeb14ce763e">Using
WebAssembly in LLVM</a></li>
<li><a
href="https://gist.github.com/cure53/f4581cee76d2445d8bd91f03d4fa7d3b">Calling
alert from WebAssembly (WASM)</a></li>
</ul>
<h2 id="examples">Examples</h2>
<ul>
<li><a
href="https://platform.uno/a-piece-of-windows-10-is-now-running-on-webassembly-natively-on-ios-and-android/">The
Windows 10 calculator running in WebAssembly</a></li>
<li><a
href="https://github.com/mdn/webassembly-examples">webassembly-examples</a></li>
<li><a
href="https://www.hellorust.com/demos/factorial/index.html">Factorial in
WebAssembly</a></li>
<li><a
href="https://github.com/sessamekesh/wasm-3d-animation-demo">WebAssembly
vs. JavaScript Animation Demo</a></li>
<li><a href="https://github.com/shamadee/web-dsp">Web DSP</a></li>
<li><a href="https://github.com/bzar/wasm-intro">wasm-intro - Tiny
WebAssembly Examples with LLVM/clang and C</a></li>
<li><a
href="https://github.com/reklatsmasters/webassembly-examples">webassembly-examples
- From Simple To Complex.</a></li>
<li><a
href="https://github.com/ColinEberhardt/d3-wasm-force/blob/master/README.md">D3
force layout with WebAssembly</a></li>
<li><a href="https://github.com/torch2424/wasmBoy">wasmBoy - Gameboy
Emulator Library written in Web Assembly using AssemblyScript</a></li>
<li><a
href="https://github.com/lukka/CppOpenGLWebAssemblyCMake">CppOpenGLWebAssemblyCMake
- C++/OpenGL/OpenAL/GLFW/GLM based app built with CMake to native or
WebAssembly</a></li>
<li><a href="https://github.com/jakedeichert/wasm-astar">WebAssembly A*
Pathfinding</a></li>
<li><a href="https://github.com/ragingwind/wasm-hnpwa">HackerNews PWA
with wasm-bindgen</a></li>
<li><a href="https://tour.tidb.io/">TiDB playground - writing SQL in an
in-browser golang database in WebAssembly</a></li>
<li><a href="https://madewithwebassembly.com/">Made With Webassembly -
Showcase of Awesome Production Applications, Side Projects, and Use
Cases Made With Webassembly</a></li>
<li><a
href="https://github.com/XD-DENG/handytools-go-webassembly">HandyTools -
A tool providing features like base64 encoding/decoding, Unix time
conversion, etc. Written in Go + WebAssembly</a></li>
<li><a href="https://aurium.gitlab.io/wasm-heatmap/">WAsm Heatmap -
Creates a heatmap layer for Leaflet.js with
Go+WebAssembly+WebWorkers</a></li>
<li><a href="https://modfy.video/">Modfy - Wasm Video
Transcoder</a></li>
<li><a href="https://github.com/raphamorim/gameboy">Gameboy emulator
written in Rust and compiled to WebAssembly</a></li>
<li><a href="https://github.com/joamag/boytacean">Boytacean - A fast
Game Boy Emulator written in Rust and running in the Browser using
WebAssembly</a></li>
</ul>
<h2 id="benchmarks">Benchmarks</h2>
<ul>
<li><a href="https://d2jta7o2zej4pf.cloudfront.net/">WebAssembly Video
Editor</a></li>
<li><a
href="http://aws-website-webassemblyskeletalanimation-ffaza.s3-website-us-east-1.amazonaws.com/">3D
skeletal animation system</a></li>
<li><a
href="http://kripken.github.io/ammo.js/examples/webgl_demo/ammo.html">Cubes
JS</a> - <a
href="http://kripken.github.com/ammo.js/examples/webgl_demo/ammo.wasm.html">Cubes
(WebAssembly)</a></li>
<li><a
href="https://takahirox.github.io/WebAssembly-benchmark/">JavaScript vs
WebAssembly easy benchmark</a></li>
<li><a
href="https://medium.com/samsung-internet-dev/performance-testing-web-assembly-vs-javascript-e07506fd5875">Performance
Testing Web Assembly vs JavaScript</a></li>
<li><a
href="https://pspdfkit.com/blog/2018/a-real-world-webassembly-benchmark/">A
Real-World WebAssembly Benchmark by PSPDFKit</a></li>
<li><a href="https://www.pdftron.com/blog/wasm/wasm-vs-pnacl/">Wasm
vs. PNaCl Performance Benchmark by PDFTron</a></li>
<li><a href="https://originjs.org/WASM-benchmark/">JavaScript vs
WebAssembly running in Browser/Nodejs</a></li>
</ul>
<h2 id="job-boards">Job Boards</h2>
<ul>
<li><a href="https://webassemblyjobs.com">WebAssembly Jobs</a></li>
</ul>
<h2 id="articles">Articles</h2>
<ul>
<li><a
href="https://platform.uno/blog/safari-16-4-support-for-webassembly-fixed-width-simd-how-to-use-it-with-c/">WebAssembly
Fixed-Width SIMD from C# (2023)</a></li>
<li><a
href="https://medium.com/@robaboukhalil/webassembly-and-simd-7a7daa4f2ecd">WebAssembly
and SIMD: A Match Made in the Browser (2020)</a></li>
<li><a
href="https://medium.com/ebaytech/webassembly-at-ebay-a-real-world-use-case-ef888f38b537">WebAssembly
at eBay: A Real-World Use Case (2019)</a></li>
<li><a
href="https://www.smashingmagazine.com/2019/04/webassembly-speed-web-app/">How
We Used WebAssembly To Speed Up Our Web App By 20X (Case Study)
(2019)</a></li>
<li><a
href="https://medium.com/@didil/practice-your-go-webassembly-with-a-game-7195dabbfc44">Practice
your Go WebAssembly with a Game (2019)</a></li>
<li><a
href="https://medium.com/@martinolsansky/webassembly-with-golang-is-fun-b243c0e34f02">The
worlds easiest introduction to WebAssembly with Golang (2019)</a></li>
<li><a href="https://medium.com/dfinity/why-webassembly-f21967076e4">Why
WebAssembly? (2018)</a></li>
<li><a
href="http://blog.scottlogic.com/2018/04/26/webassembly-by-hand.html">Writing
WebAssembly By Hand (2018)</a></li>
<li><a href="http://www.blacktm.com/blog/ruby-on-webassembly">Ruby on
WebAssembly (2018)</a></li>
<li><a
href="https://pspdfkit.com/blog/2018/optimize-webassembly-startup-performance/">Optimizing
WebAssembly Startup Time - 4 simple yet effective solutions to reduce
load time. (2018)</a></li>
<li><a
href="https://pspdfkit.com/blog/2017/webassembly-a-new-hope/">WebAssembly:
A New Hope (2017)</a></li>
<li><a
href="https://hacks.mozilla.org/2017/07/creating-a-webassembly-module-instance-with-javascript/">Creating
a WebAssembly module instance with JavaScript (2017)</a></li>
<li><a
href="https://hacks.mozilla.org/2017/07/memory-in-webassembly-and-why-its-safer-than-you-think/">Memory
in WebAssembly (and why its safer than you think) (2017)</a></li>
<li><a
href="https://hacks.mozilla.org/2017/07/webassembly-table-imports-what-are-they/">WebAssembly
table imports… what are they? (2017)</a></li>
<li><a
href="http://floooh.github.io/2017/06/09/webassembly-demystified.html">WebAssembly
Demystified (2017)</a></li>
<li><a
href="https://hacks.mozilla.org/2017/02/a-cartoon-intro-to-webassembly/">A
cartoon intro to WebAssembly (2017)</a></li>
<li><a
href="https://hacks.mozilla.org/2017/02/creating-and-working-with-webassembly-modules/">Creating
and working with WebAssembly modules (2017)</a></li>
<li><a
href="https://hacks.mozilla.org/2017/02/what-makes-webassembly-fast/">What
makes WebAssembly fast? (2017)</a></li>
<li><a
href="https://hacks.mozilla.org/2017/02/where-is-webassembly-now-and-whats-next/">Where
is WebAssembly now and whats next? (2017)</a></li>
<li><a
href="https://hacks.mozilla.org/2017/03/web-games-platform-newest-developments/">Web
Games Platform: Newest Developments (2017)</a></li>
<li><a
href="https://hacks.mozilla.org/2017/03/why-webassembly-is-faster-than-asm-js/">Why
WebAssembly is Faster Than asm.js (2017)</a></li>
<li><a
href="https://hacks.mozilla.org/2017/03/firefox-52-introducing-web-assembly-css-grid-and-the-grid-inspector/">Firefox
52: Introducing Web Assembly, CSS Grid and the Grid Inspector
(2017)</a></li>
<li><a
href="https://hacks.mozilla.org/2017/03/previewing-the-webassembly-explorer/">Previewing
the WebAssembly Explorer (2017)</a></li>
<li><a
href="https://medium.com/mozilla-tech/why-webassembly-is-a-game-changer-for-the-web-and-a-source-of-pride-for-mozilla-and-firefox-dda80e4c43cb">Why
WebAssembly is a game changer for the weband a source of pride for
Mozilla and Firefox (2017)</a></li>
<li><a href="https://rsms.me/wasm-intro">Introduction to WebAssembly
(2017)</a></li>
<li><a
href="https://medium.com/javascript-scene/what-is-webassembly-the-dawn-of-a-new-era-61256ec5a8f6">What
is WebAssembly? (2015)</a></li>
<li><a
href="https://auth0.com/blog/7-things-you-should-know-about-web-assembly/">7
Things You Should Know About WebAssembly (2015)</a></li>
<li><a href="http://2ality.com/2015/06/web-assembly.html">WebAssembly: a
binary format for the web (2015)</a></li>
<li><a
href="https://hacks.mozilla.org/2015/12/compiling-to-webassembly-its-happening/">Compiling
to WebAssembly: Its Happening! (2015)</a></li>
<li><a
href="https://www.sitepoint.com/future-programming-webassembly-life-after-javascript/">The
Future of Programming: WebAssembly &amp; Life After JavaScript
(2015)</a></li>
<li><a href="https://byrnemluke.com/posts/webassembly">WebAssembly
Everywhere</a></li>
</ul>
<h2 id="video">Video</h2>
<ul>
<li><a href="https://www.youtube.com/watch?v=eYekV2Do0YU">The Complete
WebAssembly Course - From Beginner to Advanced! (2024-01)</a></li>
<li><a href="https://www.youtube.com/watch?v=fvkIQfRZ-Y0">What is
WebAssembly? By Some of its Creators (2019-08)</a></li>
<li><a href="https://www.youtube.com/watch?v=o-2PLhMVBYU">Level up Your
Web Apps with WebAssembly (PerfMatters Conference 2019-04)</a></li>
<li><a href="https://www.youtube.com/watch?v=4kBvvk2Bzis">Go WebAssembly
Tutorial - Building a Calculator (2018-08)</a></li>
<li><a href="https://www.youtube.com/watch?v=iTrx0BbUXI4">Get Going with
WebAssembly (2018-08)</a></li>
<li><a href="https://www.youtube.com/watch?v=BnYq7JapeDA">Build the
future of the web with WebAssembly and more (Google I/O
2018-05)</a></li>
<li><a href="https://www.youtube.com/watch?v=pBYqen3B2gc">WebAssembly
and the Death of JavaScript? (2018-02)</a></li>
<li><a href="https://www.youtube.com/watch?v=bac0dGQbUto">Practical
WebAssembly (2017-12)</a></li>
<li><a href="https://www.youtube.com/watch?v=PpuAqLCraAQ">Real World
WebAssembly (Chrome Dev Summit 2017-10)</a></li>
<li><a href="https://www.youtube.com/watch?v=AFy5TdrFG9Y">Andreas
Rossberg - Bringing the Web up to Speed with WebAssembly
(2017-06)</a></li>
<li><a href="https://www.youtube.com/watch?v=6v4E6oksar0">Compiling for
the Web with WebAssembly (Google I/O 2017-05)</a></li>
<li><a
href="https://www.youtube.com/watch?list=PL37ZVnwpeshFmAPr65sU2O5WMs7_CGjs_&amp;v=HktWin_LPf4">A
Cartoon Intro to WebAssembly (2017-05)</a></li>
<li><a href="https://www.youtube.com/watch?v=cRwUD5SxF4o">WebAssembly
Demystified (2017-05)</a></li>
<li><a href="https://www.youtube.com/watch?v=8gRHHIjx4oE">Meeting C++
2016: Implementing a web game in C++14 - Kris Jusiak (2017-01)</a></li>
<li><a href="https://www.youtube.com/watch?v=jXMtQ2fTl4c">CppCon 2016:
Dan Gohman “C++ on the Web: Lets have some serious fun.”
(2016-10)</a></li>
<li><a href="https://www.youtube.com/watch?v=AIFmOwRbXao">WebAssembly
and the Future of the Browser (2016-09)</a></li>
<li><a href="https://www.youtube.com/watch?v=RByPdCN1RQ4">NYLUG
Presents: Luke Wagner -on- WebAssembly: A New Compiler Target For The
Web (2016-06)</a></li>
<li><a href="https://www.youtube.com/watch?v=iCSAUHpPbiU">Web Assembly -
Nick Bray - BlinkOn 5 - (2015-11)</a></li>
<li><a href="https://www.youtube.com/watch?v=NhAPPQqKCi8">Web Assembly -
Nick Bray - GOTO 2015 - (2015-10)</a></li>
<li><a
href="https://brendaneich.com/2015/06/from-asm-js-to-webassembly/">From
ASM.JS to WebAssembly (2015-06)</a></li>
<li><a href="https://www.youtube.com/watch?v=r-A78RgMhZU">A Talk Near
the Future of Python (a.k.a., Dave live-codes a WebAssembly
Interpreter)</a></li>
</ul>
<h2 id="slides">Slides</h2>
<ul>
<li><a href="https://wasm-talk.johnny.sh/#0">Web Assembly for Dumb
People (2020)</a></li>
<li><a
href="https://leefsmp.github.io/Particle-System/slides/index.html">Boost
your web application with C++ (2016)</a></li>
<li><a
href="http://callahad.github.io/tccc20-wasm/slides/#/">WebAssembly (Do
we all have to learn C now?)</a></li>
<li><a
href="https://marianoguerra.github.io/ricardo-forth/resources/slides.html#/webassembly">WebAssembly
(2016)</a></li>
<li><a
href="https://www.slideshare.net/ValeriiaMaliarenko/web-assembly-overview-by-mikhail-sorokovsky">WebAssembly
overview (2016)</a></li>
<li><a href="https://kripken.github.io/talks/wasm.html">Emscripten and
WebAssembly (2015)</a></li>
<li><a
href="https://www.slideshare.net/danlbudden/an-introduction-to-webassembly">An
intro to WebAssembly (2015)</a></li>
</ul>
<h2 id="community">Community</h2>
<ul>
<li><a href="https://www.w3.org/community/webassembly/">W3C Community
Group</a></li>
<li><a
href="https://stackoverflow.com/questions/tagged/webassembly">Stack
Overflow</a></li>
<li><a href="https://twitter.com/webassemblynews">Twitter</a></li>
<li><a href="https://webassemblydevelopers.slack.com">Slack: WebAssembly
Developers</a> <a
href="https://webassemblydevelopers.herokuapp.com/">(click here to get
an invitation)</a></li>
<li><a href="http://wasmweekly.news/">WasmWeekly - a weekly
newsletter</a></li>
<li><a
href="http://pages.catchpoint.com/webassembly-ama.html">WebAssembly
AMA</a></li>
</ul>
<h2 id="books">Books</h2>
<ul>
<li><a
href="https://github.com/sunfishcode/wasm-reference-manual">WebAssembly
Reference Manual</a></li>
<li><a
href="https://www.packtpub.com/web-development/learn-webassembly">Learn
WebAssembly - Build web applications with native performance using Wasm
and C/C++</a></li>
<li><a
href="https://pragprog.com/book/khrust/programming-webassembly-with-rust">Programming
WebAssembly with Rust - Unified Development for Web, Mobile, and
Embedded Applications</a></li>
<li><a href="https://rustwasm.github.io/docs/book/">Rust and
WebAssembly</a></li>
<li><a
href="https://www.manning.com/books/webassembly-in-action">WebAssembly
in Action - Introduces the WebAssembly stack and walks you through the
process of writing and running browser-based applications</a></li>
<li><a href="http://www.levelupwasm.com/">Level up with WebAssembly - A
practical guide to building WebAssembly applications</a></li>
<li><a
href="https://www.packtpub.com/game-development/hands-game-development-webassembly">Hands-On
Game Development with WebAssembly</a></li>
</ul>
<h2 id="papers">Papers</h2>
<ul>
<li><a
href="https://github.com/WebAssembly/spec/blob/master/papers/pldi2017.pdf">Bringing
the Web up to Speed with WebAssembly</a></li>
<li><a
href="http://blog.scottlogic.com/ceberhardt/assets/white-papers/the-web-assembles.pdf">The
Web Assembles</a></li>
<li><a href="https://dlehmann.eu/publications/WasmBench-www2021.pdf">An
Empirical Study of Real-World WebAssembly Binaries: Security, Languages,
Use Cases</a></li>
<li><a href="https://www.usenix.org/system/files/atc19-jangda.pdf">Not
So Fast: Analyzing the Performance of WebAssembly vs. Native
Code</a></li>
<li><a
href="https://www.usenix.org/system/files/sec22-bosamiya.pdf">Provably-Safe
Multilingual Software Sandboxing using WebAssembly</a></li>
<li><a
href="https://software-lab.org/publications/asplos2019_Wasabi.pdf">Wasabi:
A Framework for Dynamically Analyzing WebAssembly</a></li>
<li><a href="https://inria.hal.science/hal-04311345">Wasocaml: compiling
OCaml to Webassembly</a></li>
<li><a href="https://hal.science/hal-04627413">Owi: Performant Parallel
Symbolic Execution Made Easy, an Application to WebAssembly</a></li>
</ul>
<h2 id="demos">Demos</h2>
<ul>
<li><a href="https://cselab.github.io/aphros/wasm/hydro.html">Aphrós -
finite volume solver for incompressible multiphase flows</a></li>
<li><a
href="http://kripken.github.io/ammo.js/examples/webgl_demo/ammo.wasm.html">Cubes
- direct port of the Bullet physics engine</a></li>
<li><a
href="http://basic4gl.net/mobile/Development/webasm/basic4gl.html">Basic4GL</a></li>
<li><a href="http://symatem.github.io/">Symatem - an Ontology Engine,
Visualizer, and Editor</a></li>
<li><a href="https://www.funkykarts.rocks/demo.html">Funky
Karts</a></li>
<li><a href="https://web-preview.pspdfkit.com/standalone/6">PSPDFKit for
Web - a WebAssembly-based PDF viewer with annotation features</a></li>
<li><a href="http://playground.platform.uno">Uno Platform Playground - a
WebAssembly-based XAML playground</a></li>
<li><a href="http://roslynquoter-wasm.platform.uno/">Roslyn Quoter - a
WebAssembly-based Roslyn-based C# code quoter</a></li>
<li><a href="https://wasmboy.app/">wasmBoy Demo/Debugger - a Gameboy
Emulation library written in Web Assembly using AssemblyScript</a></li>
<li><a href="http://wasm.continuation-labs.com/d3demo/">DOOM 3 - Doom 3
WebAssembly port</a></li>
<li><a href="https://squoosh.app">Squoosh.app - Compress and compare
images with different codecs, right in your browser</a></li>
<li><a href="https://app.sketchup.com/app">SketchUp - 3D modeling
software</a></li>
<li><a href="https://www.pdftron.com/webviewer/demo/">WebViewer - a CAD,
MS Office, and PDF SDK</a></li>
</ul>
<h2 id="resources-in-other-languages">Resources in other languages</h2>
<h3 id="russian">Russian</h3>
<ul>
<li><a href="https://www.youtube.com/watch?v=eWF_1nMM5Yo">KharkivJS #5:
Serious JS (Kharkiv, Ukraine, November 7, 2015) - WebAssembly: new era
of Web (video)</a></li>
<li><a href="https://www.youtube.com/watch?v=kS29TT4wk44">OdessaJS 2017
- Real world WebAssembly (video)</a></li>
<li><a
href="https://tproger.ru/translations/webassembly-tutorial-first-steps/">Урок-введение
по WebAssembly на примере игры “Жизнь” (article)</a></li>
</ul>
<h3 id="simplified-chinese">Simplified Chinese</h3>
<ul>
<li><a href="http://webassembly.org.cn/">WebAssembly 中文网</a></li>
<li><a href="https://www.w3ctech.com/category/18">WebAssembly
中文社区</a></li>
<li><a href="https://github.com/WebAssembly-cn">WebAssembly-cn
Orgnization</a></li>
<li><a
href="https://github.com/chai2010/awesome-wasm-zh">WebAssembly资料精选 -
中文版</a></li>
<li><a
href="https://github.com/chai2010/awesome-wasm-zh/blob/master/webassembly-primer.md">WebAssembly标准入门
- 第一本中文图书</a></li>
<li><a href="https://github.com/3dgen/cppwasm-book">C/C++面向wasm编程 -
第一本中文开源图书</a></li>
<li><a href="https://zhuanlan.zhihu.com/p/47577104">《深入浅出
WebAssembly》</a></li>
</ul>
<h3 id="spanish">Spanish</h3>
<ul>
<li><a
href="https://juancrg90.me/essays/compilando-para-el-navegador-con-webassembly">Compilando
para el navegador con WebAssembly (article)</a></li>
</ul>
<h2 id="license">License</h2>
<p><a href="https://creativecommons.org/publicdomain/zero/1.0/"><img
src="http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg"
alt="CC0" /></a></p>
<p>To the extent possible under law, <a
href="https://github.com/mbasso">Matteo Basso</a> has waived all
copyright and related or neighboring rights to this work.</p>
<p><a href="https://github.com/mbasso/awesome-wasm">wasm.md
Github</a></p>