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