awesome-wasm
😎 Curated list of awesome things regarding the WebAssembly (wasm) ecosystem.
https://github.com/mbasso/awesome-wasm
Last synced: 1 day ago
JSON representation
-
Online Playground
-
Tutorials
- Developer's Guide
- Hit the Ground Running with WebAssembly (2019)
- Porting Games to the Web with WebAssembly (2019)
- egghead.io: Get Started Using WebAssembly (WASM)(2017)
- WebAssembly 101: a developer first steps (2017)
- Emscripten/HTML Integration Tips (2017)
- Getting Started With WebAssembly in Node.js (2017)
- Build Your First Thing With WebAssembly (2016)
- Porting Games to the Web with WebAssembly (2019)
- Getting Started With WebAssembly in Node.js (2017)
- Wasmbyexample - Hands-On Introduction Examples and Tutorials for Webassembly
- Hands-On Webassembly: Try the Basics (2020)
- Using WebAssembly modules in C# (2020)
- First steps with WebAssembly in Rust (2020)
- WebAssembly threads in Firefox (2020)
- Using the import statement with an Emscripten-generated module in Vue.js (2020)
- Uno Platform Bootcamp - single-source WASM & Mobile app tutorial (2019)
- Level up Command-line Playgrounds with WebAssembly (2019)
- WebAssembly Physics and DOM objects (2018)
- The Path to Rust on the Web (2017)
- Compiling Rust to WebAssembly Guide (2017)
- How to get a performance boost using WebAssembly (2017)
- WebAssembly — The missing tutorial (2016)
- Webassembly initial steps tutorial (2016)
- Introduction to WebAssembly Text (2021)
- Porting Games to the Web with WebAssembly (2019)
- Hit the Ground Running with WebAssembly (2019)
- Porting Games to the Web with WebAssembly (2019)
- egghead.io: Get Started Using WebAssembly (WASM)(2017)
-
Compilers
- Emscripten - LLVM-based project that compiles C and C++
- WebAssembly for the GNU Toolchain
- PPCI.wasm - PPCI Can compile wasm to machine code and run it in the Python process
- Emscripten - LLVM-based project that compiles C and C++
- Binaryen - Binaryen is a compiler and toolchain infrastructure library for WebAssembly, written in C++
- ilwasm - CIL to WebAssembly compiler
- Asterius - A Haskell to WebAssembly compiler
- Bytecoder - A Rich Domain Model for Java Bytecode and Framework to interpret and transpile it to other languages such as JavaScript, OpenCL or WebAssembly
- AssemblyScript - Definitely not a TypeScript to WebAssembly compiler
- Rust - A safe, concurrent, practical language
- faust2 - Functional programming language for signal processing and sound synthesis
-
Languages
-
Go
-
JavaScript-family
-
Kotlin
-
Python
-
Rust
-
Esoteric
-
Forth
-
Lua
-
OCAML
-
WASM-like
-
Other
-
Prolog
-
-
Articles
-
Editor
-
Kits
- Ruby on WebAssembly (2018)
- Ruby on WebAssembly (2018)
- WebAssembly at eBay: A Real-World Use Case (2019)
- How We Used WebAssembly To Speed Up Our Web App By 20X (Case Study) (2019)
- 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)
- 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)
- Compiling to WebAssembly: It's Happening! (2015)
- The Future of Programming: WebAssembly & Life After JavaScript (2015)
- WebAssembly Everywhere
- WebAssembly Fixed-Width SIMD from C# (2023)
- Why WebAssembly? (2018)
- Optimizing WebAssembly Startup Time - 4 simple yet effective solutions to reduce load time. (2018)
- WebAssembly: A New Hope (2017)
- A cartoon intro to WebAssembly (2017)
- What is WebAssembly? (2015)
- 7 Things You Should Know About WebAssembly (2015)
- The world's easiest introduction to WebAssembly with Golang (2019)
- WebAssembly and SIMD: A Match Made in the Browser (2020)
- Practice your Go WebAssembly with a Game (2019)
-
-
Examples
-
Editor
-
Kits
- webassembly-examples
- WebAssembly vs. JavaScript Animation Demo
- Web DSP
- wasm-intro - Tiny WebAssembly Examples with LLVM/clang and C
- webassembly-examples - From Simple To Complex.
- 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
- HackerNews PWA with wasm-bindgen
- HandyTools - A tool providing features like base64 encoding/decoding, Unix time conversion, etc. Written in Go + WebAssembly
- Modfy - Wasm Video Transcoder
- Gameboy emulator written in Rust and compiled to WebAssembly
- Boytacean - A fast Game Boy Emulator written in Rust and running in the Browser using WebAssembly
- Factorial in WebAssembly
- D3 force layout with WebAssembly
- TiDB playground - writing SQL in an in-browser golang database in WebAssembly
- Made With Webassembly - Showcase of Awesome Production Applications, Side Projects, and Use Cases Made With Webassembly
- WAsm Heatmap - Creates a heatmap layer for Leaflet.js with Go+WebAssembly+WebWorkers
-
-
Benchmarks
-
Kits
- 3D skeletal animation system
- Cubes JS - [Cubes (WebAssembly)](http://kripken.github.com/ammo.js/examples/webgl_demo/ammo.wasm.html)
- A Real-World WebAssembly Benchmark by PSPDFKit
- 3D skeletal animation system
- Cubes JS - [Cubes (WebAssembly)](http://kripken.github.com/ammo.js/examples/webgl_demo/ammo.wasm.html)
- JavaScript vs WebAssembly easy benchmark
- WebAssembly Video Editor
- Performance Testing Web Assembly vs JavaScript
- JavaScript vs WebAssembly running in Browser/Nodejs
- Wasm vs. PNaCl Performance Benchmark by PDFTron
-
Editor
-
-
Demos
-
Kits
- Cubes - direct port of the Bullet physics engine
- Basic4GL
- Symatem - an Ontology Engine, Visualizer, and Editor
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- Cubes - direct port of the Bullet physics engine
- Basic4GL
- Symatem - an Ontology Engine, Visualizer, and Editor
- SketchUp - 3D modeling software
- WebViewer - a CAD, MS Office, and PDF SDK
- Aphrós - finite volume solver for incompressible multiphase flows
- Funky Karts
- PSPDFKit for Web - a WebAssembly-based PDF viewer with annotation features
- wasmBoy Demo/Debugger - a Gameboy Emulation library written in Web Assembly using AssemblyScript
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- Basic4GL
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- Basic4GL
- SketchUp - 3D modeling software
- WebViewer - a CAD, MS Office, and PDF SDK
- SketchUp - 3D modeling software
-
Editor
- DOOM 3 - Doom 3 WebAssembly port
- Uno Platform Playground - a WebAssembly-based XAML playground
- Roslyn Quoter - a WebAssembly-based Roslyn-based C# code quoter
- SketchUp - 3D modeling software
- WebViewer - a CAD, MS Office, and PDF SDK
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
- SketchUp - 3D modeling software
-
-
Community
-
Books
-
Editor
-
Kits
- WebAssembly Reference Manual
- Learn WebAssembly - Build web applications with native performance using Wasm and C/C++
- Rust and WebAssembly
- WebAssembly in Action - Introduces the WebAssembly stack and walks you through the process of writing and running browser-based applications
- Learn WebAssembly - Build web applications with native performance using Wasm and C/C++
-
-
Papers
-
Editor
-
Kits
- Wasocaml: compiling OCaml to Webassembly
- Owi: Performant Parallel Symbolic Execution Made Easy, an Application to WebAssembly
- An Empirical Study of Real-World WebAssembly Binaries: Security, Languages, Use Cases
- Not So Fast: Analyzing the Performance of WebAssembly vs. Native Code
- Provably-Safe Multilingual Software Sandboxing using WebAssembly
- Wasabi: A Framework for Dynamically Analyzing WebAssembly
-
-
Resources in other languages
-
Simplified Chinese
-
Russian
-
Spanish
-
-
Projects
-
Web frameworks-libraries
- seed - A Rust framework for creating web apps
- asdom - DOM bindings for AssemblyScript, write DOM code just like in TypeScript, but compiled to WebAssembly, by LUME
- asm-dom - A minimal WebAssembly virtual DOM to build C++ SPA
- Blazor - Microsoft's web UI framework using C#/Razor and HTML, running client-side via WebAssembly
- Yew - Rust framework for making client web apps
- go-vdom-wasm - Webassembly VDOM to create web application using Golang(experimental)
- seed - A Rust framework for creating web apps
- Zwitterion - A web dev server that lets you import anything*
- Vugu - A modern UI library for Go+WebAssembly
- seed - A Rust framework for creating web apps
-
AI
-
Apache Server
-
Data processing
-
WebGL
- ammo.js - direct port of the Bullet physics engine to JavaScript using Emscripten
- glas - Web**GL** in WebAssembly with **A**ssembly**S**cript, by LUME
- Particle System - an experiment designed to benchmark web technologies: ES6, Emscripten and Web Assembly
- Oryol - a small, portable 3D coding framework written in C++
-
webpack
-
Browserify
-
Node.js
-
.NET
-
Others
- wasm-init - Work environment and code generator for WebAssembly projects
- wasm - Python WebAssembly decoder & disassembler library
- 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
- webm-wasm - Create webm videos in JavaScript via WebAssembly
- wasm-pdf – Generate PDF files with JavaScript/WASM
- go-web-app – Quickly setup Go + WebAssembly frontend apps
- WasmBench - A large dataset of real-world WebAssembly binaries, collected from the Web, GitHub, NPM and more
- gtree - Web app that converts from Markdown to tree using WebAssembly
- wasm-bpf - A WebAssembly eBPF library, toolchain and runtime to help you build eBPF programs to Wasm and run in kernel.
- crypto-js-wasm - An alternate to crypto-js implemented with WebAssembly and ESM
- ssheasy - An online ssh and sft client
- YAKC - a multi-system 8-bit emulator written in C++
- ewasm - Ethereum flavored WebAssembly
- gotemplate.io – Quicky test and visualize your Go templates live
-
-
Non-Web Embeddings
- wasm3 - The fastest WebAssembly interpreter (x86, x64, ARM, MIPS, Xtensa)
- fizzy - Fast, deterministic, and pedantic WebAssembly interpreter written in clean C++17
- wamr - WebAssembly Micro Runtime (WAMR) is an AOT/JIT/interpreter focusing on small footprint
- wac - WebAssembly in C (x86)
- Asmble - WebAssembly on the JVM
- wasmachine - WebAssembly in a FPGA
- Olin - WebAssembly on the server
- Wasmer - Standalone JIT WebAssembly Runtime
- Wasmer for PHP
- warpy - WebAssembly in RPython
- pywebassembly - WebAssembly interpreter written in pure Python
- py-wasm - WebAssembly interpreter written in pure Python
- pywasm - WebAssembly interpreter written in pure Python.
- wabt - WebAssembly toolkit and interpreter written in C++
- binaryen - WebAssembly toolkit and interpreter written in C++
- wagon - WebAssembly interpter written in Go
- embly - A serverless web application framework for collaboration and scale
- SSVM - WebAssembly Virtual Machine for AI and Blockchain applications
- Manticore - Symbolic execution engine with support for WebAssembly
- WAVM - WebAssembly virtual machine, designed for use in non-web applications
- windtrap - A WASM VM written in Elixir
- Extism - the universal plug-in system to make your software programmable
- Owi - a Wasm interpreter written in OCaml
- WASI - The WebAssembly System Interface
- wasmtime - Standalone WebAssembly Runtime
-
Tools
-
Slides
-
General Resources
-
Video
-
Kits
- The Complete WebAssembly Course - From Beginner to Advanced! (2024-01)
- What is WebAssembly? By Some of its Creators (2019-08)
- Level up Your Web Apps with WebAssembly (PerfMatters Conference 2019-04)
- Go WebAssembly Tutorial - Building a Calculator (2018-08)
- Get Going with WebAssembly (2018-08)
- Build the future of the web with WebAssembly and more (Google I/O 2018-05)
- WebAssembly and the Death of JavaScript? (2018-02)
- Practical WebAssembly (2017-12)
- Real World WebAssembly (Chrome Dev Summit 2017-10)
- Andreas Rossberg - Bringing the Web up to Speed with WebAssembly (2017-06)
- Compiling for the Web with WebAssembly (Google I/O 2017-05)
- WebAssembly and the Future of the Browser (2016-09)
- NYLUG Presents: Luke Wagner -on- WebAssembly: A New Compiler Target For The Web (2016-06)
- Web Assembly - Nick Bray - BlinkOn 5 - (2015-11)
- Web Assembly - Nick Bray - GOTO 2015 - (2015-10)
- From ASM.JS to WebAssembly (2015-06)
- A Cartoon Intro to WebAssembly (2017-05)
- WebAssembly Demystified (2017-05)
- Meeting C++ 2016: Implementing a web game in C++14 - Kris Jusiak (2017-01)
- CppCon 2016: Dan Gohman "C++ on the Web: Let's have some serious fun." (2016-10)
- A Talk Near the Future of Python (a.k.a., Dave live-codes a WebAssembly Interpreter)
-
-
Gists
-
Job Boards
-
Kits
-
Programming Languages
Categories
Sub Categories
Keywords
webassembly
47
wasm
36
rust
14
javascript
14
typescript
10
compiler
8
emscripten
8
assemblyscript
5
c
5
interpreter
4
cpp
4
python
4
emulator
4
wast
3
compilers
3
llvm
3
go
3
gameboy
3
nodejs
3
c-plus-plus
2
symbolic-execution
2
html
2
smt
2
emulation
2
assembly
2
language
2
embedded
2
iot
2
golang
2
webpack-loader
2
gameboy-emulator
2
jit
2
examples
2
haskell
2
serverless
2
dotnet
2
dom
2
csharp
2
emcc
2
ocaml
2
awesome
2
asmjs
2
assembly-script
1
aot
1
windows
1
wasmer
1
wasix
1
wasi
1
macos
1
linux
1