Collection of awesome things regarding WebAssembly (wasm) ecosystem.
Please read the contribution guidelines if you want to contribute.
- General Resources
- Online Playground
- Tutorials
- Compilers
- Non-Web Embeddings
- Projects
- Tools
- Gists
- Examples
- Benchmarks
- Articles
- Video
- Slides
- Community
- Books
- Papers
- Demos
- Resources in other languages
- Official Site
- Github
- WebAssembly MDN
- WebAssembly Wikipedia
- WebAssembly Specification
- WebAssembly and Friends Roadmap
- WebAssembly Rocks
- WebAssembly Explorer
- WebAssembly Playground
- WasmFiddle
- Assembleash - WebAssembly and Typescript-like languages playground
- Wat2Wasm
- Wasm2Wat
- WebAssembly Studio
- Developer's Guide
- WebAssembly Physics and DOM objects (2018)
- egghead.io: Get Started Using WebAssembly (WASM)(2017)
- The Path to Rust on the Web (2017)
- WebAssembly 101: a developer first steps (2017)
- Emscripten/HTML Integration Tips (2017)
- Compiling Rust to WebAssembly Guide (2017)
- How to get a performance boost using WebAssembly (2017)
- Getting Started With WebAssembly in Node.js (2017)
- Build Your First Thing With WebAssembly (2016)
- WebAssembly — The missing tutorial (2016)
- Webassembly initial steps tutorial (2016)
- Emscripten - LLVM-based project that compiles C and C++
- Binaryen - Binaryen is a compiler and toolchain infrastructure library for WebAssembly, written in C++
- Rust - A safe, concurrent, practical language
- ilwasm - CIL to WebAssembly compiler
- WebAssembly for the GNU Toolchain
- faust2 - Functional programming language for signal processing and sound synthesis
- Asterius - A Haskell to WebAssembly compiler
- asm-dom - A minimal WebAssembly virtual DOM to build C++ SPA
- Blazor - Microsoft's experimental web UI framework using C#/Razor and HTML, running client-side via WebAssembly
- Yew - Rust framework for making client web apps
- Perspective - Streaming pivot visualization via WebAssembly
- ammo.js - direct port of the Bullet physics engine to JavaScript using Emscripten
- Particle System - an experiment designed to benchmark web technologies: ES6, Emscripten and Web Assembly
- Oryol - a small, portable 3D coding framework written in C++
- wasm_lua - Lua VM running in a WASM environment
- ocamlrun-wasm - OCaml Bytecode Interpreter in WASM
- wacl - Tcl Interpreter in WASM with browser extensions
- TurboScript - A TypeScript-like language that compiles to asm.js and WebAssembly
- speedy.js - Accelerate JavaScript Applications by Compiling to WebAssembly
- AssemblyScript - A subset of TypeScript that compiles to WebAssembly
- funge.js - A Befunge JIT
- Rusty Web
- parity-wasm - WebAssembly interpreter, decoder and encoder in pure Rust
- wah - a slightly higher-level language superset of webassembly
- Walt - Alternative Syntax for WebAssembly
- webassembly - A minimal toolkit and runtime to produce and run WebAssembly modules.
- wasm-pack - pack up the wasm and publish it to npm!
- wasm-init - Work environment and code generator for WebAssembly projects
- wasm - Python WebAssembly decoder & disassembler library
- MXnet.js - ASM.js build of MXNet, deep learning (neural nets and so) library
- YAKC - a multi-system 8-bit emulator written in C++
- Eufa - a high efficient utility functions library written in webassembly
- Argon2 in browser - Argon2 library compiled for browser runtime
- cld3-asm - Wasm based JS binding for Google compact language detector 3
- hunspell-asm - Wasm based JS binding for Hunspell spellchecker
- wasm-bindgen - Interoperating JS and Rust code
- WABT - A suite of tools that help working with WASM binary files
- webassembly-binary-toolkit - The WABT tools installable as an npm package
- vim-wasm - WebAssembly filetype support for Vim
- vscode wast - WebAssembly(S-expression) support
- Atom language-wast
- vscode-wasm - WebAssembly toolkit for vscode
- Standalone WebAssembly Example
- helloworld.wast
- Using WebAssembly in LLVM
- Calling alert from WebAssembly (WASM)
- webassembly-examples
- Factorial in WebAssembly
- WebAssembly vs. JavaScript Animation Demo
- Web DSP
- wasm-intro - Tiny WebAssembly Examples with LLVM/clang and C
- webassembly-examples - From Simple To Complex.
- D3 force layout with WebAssembly
- wasmBoy - Gameboy Emulator Library written in Web Assembly using AssemblyScript
- CppOpenGLWebAssemblyCMake - C++/OpenGL/OpenAL/GLFW/GLM based app built with CMake to native or WebAssembly
- WebAssembly Video Editor
- 3D skeletal animation system
- Cubes JS vs Cubes (WebAssembly)
- JavaScript vs WebAssembly easy benchmark
- Performance Testing Web Assembly vs JavaScript
- A Real-World WebAssembly Benchmark by PSPDFKit
- Writing WebAssembly By Hand (2018)
- Ruby on WebAssembly (2018)
- Optimizing WebAssembly Startup Time - 4 simple yet effective solutions to reduce load time. (2018)
- WebAssembly: A New Hope (2017)
- Creating a WebAssembly module instance with JavaScript (2017)
- Memory in WebAssembly (and why it’s safer than you think) (2017)
- WebAssembly table imports… what are they? (2017)
- WebAssembly Demystified (2017)
- A cartoon intro to WebAssembly (2017)
- Creating and working with WebAssembly modules (2017)
- What makes WebAssembly fast? (2017)
- Where is WebAssembly now and what’s next? (2017)
- Web Games Platform: Newest Developments (2017)
- Why WebAssembly is Faster Than asm.js (2017)
- Firefox 52: Introducing Web Assembly, CSS Grid and the Grid Inspector (2017)
- Previewing the WebAssembly Explorer (2017)
- Why WebAssembly is a game changer for the web — and a source of pride for Mozilla and Firefox (2017)
- Introduction to WebAssembly (2017)
- Boost your Web Application with C++! Emscripten, ASM.js, Web Assembly ... (2016)
- What is WebAssembly? (2015)
- 7 Things You Should Know About WebAssembly (2015)
- WebAssembly: a binary format for the web (2015)
- Compiling to WebAssembly: It’s Happening! (2015)
- The Future of Programming: WebAssembly & Life After JavaScript (2015)
- Build the future of the web with WebAssembly and more (Google I/O '18)
- WebAssembly and the Death of JavaScript?
- Practical WebAssembly
- A Cartoon Intro to WebAssembly (2017)
- WebAssembly Demystified (2017)
- Meeting C++ 2016: Implementing a web game in C++14 - Kris Jusiak (2016)
- CppCon 2016: Dan Gohman “C++ on the Web: Let's have some serious fun." (2016)
- NYLUG Presents: Luke Wagner -on- WebAssembly: A New Compiler Target For The Web (2016)
- WebAssembly and the Future of the Browser (2016)
- From ASM.JS to WebAssembly (2015)
- WebAssembly and the Future of the Web (2017)
- Web Assembly - Nick Bray - GOTO 2015 - (2015)
- Web Assembly - Nick Bray - BlinkOn 5 - (2016)
- Compiling for the Web with WebAssembly (Google I/O '17)
- Real World WebAssembly (Chrome Dev Summit 2017)
- Boost your web application with C++ (2016)
- WebAssembly (Do we all have to learn C now?)
- WebAssembly (2016)
- WebAssembly overview (2016)
- Emscripten and WebAssembly (2015)
- An intro to WebAssembly (2015)
- W3C Community Group
- StackOverflow
- Slack: WebAssembly Developers (click here to get an invitation)
- WasmWeekly - a weekly newsletter
- WebAssembly AMA
- Tanks - a Unity game which has been exported to WebAssembly
- Cubes - direct port of the Bullet physics engine
- Basic4GL
- Symatem - an Ontology Engine, Visualizer, and Editor
- Epic Zen Garden
- Funky Karts
- PSPDFKit for Web
- KharkivJS #5: Serious JS (Kharkiv, Ukraine, November 7, 2015) - WebAssembly: new era of Web (video)
- OdessaJS 2017 - Real world WebAssembly (video)
- Урок-введение по WebAssembly на примере игры “Жизнь” (article)
To the extent possible under law, Matteo Basso has waived all copyright and related or neighboring rights to this work.