11 KiB
11 KiB
Awesome WebAssembly !Awesome (https://awesome.re/badge-flat2.svg) (https://awesome.re)
A curation of WebAssembly resources, projects, and communities.
▐ WebAssembly (https://webassembly.org/) (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client
▐ and server applications.
Contents
- Resources (#resources)
- Basics (#basics)
- Articles (#articles)
- Books (#books)
- Videos (#videos)
- Projects (#projects)
- Compilers (#compilers)
- Runtimes (#runtimes)
- Libraries (#libraries)
- Tools (#tools)
- Frameworks (#frameworks)
- Communities (#communities)
Resources
Basics
- WebAssembly MDN (https://developer.mozilla.org/en-US/docs/WebAssembly)
- WebAssembly Specification (https://webassembly.github.io/spec/)
Articles
- What is WebAssembly? (https://medium.com/javascript-scene/what-is-webassembly-the-dawn-of-a-new-era-61256ec5a8f6) - Eric Elliott, 2015.
- 7 Things You Should Know About WebAssembly (https://auth0.com/blog/7-things-you-should-know-about-web-assembly/) - Sebastian Peyrott, 2015.
- WebAssembly Demystified (https://floooh.github.io/2017/06/09/webassembly-demystified.html) - Andre Weissflog, 2017.
- Why WebAssembly? (https://medium.com/dfinity/why-webassembly-f21967076e4) - Andreas Rossberg, 2018.
- The world's easiest introduction to WebAssembly (https://medium.com/free-code-camp/webassembly-with-golang-is-fun-b243c0e34f02) - Martin Olsansky, 2019.
- The Future of Programming: WebAssembly & Life After JavaScript (https://www.sitepoint.com/future-programming-webassembly-life-after-javascript/) - Eric Elliott, 2024.
- The Web Assembles (https://blog.scottlogic.com/ceberhardt/assets/white-papers/the-web-assembles.pdf) - Chris Price and Colin Eberhardt, 2017.
- An Empirical Study of Real-World WebAssembly Binaries (https://dlehmann.eu/publications/WasmBench-www2021.pdf) - Aaron Hilbig, Daniel Lehmann, and Michael Pradel, 2021.
- Not So Fast: Analyzing the Performance of WebAssembly vs. Native Code (https://www.usenix.org/system/files/atc19-jangda.pdf) - Abhinav Jangda, Bobby Powers, Emery D. Berger, and Arjun Guha, 2019.
- Provably-Safe Multilingual Software Sandboxing using WebAssembly (https://www.usenix.org/system/files/sec22-bosamiya.pdf) - Jay Bosamiya, Wen Shih Lim, and Bryan Parno, 2022.
- Wasabi: A Framework for Dynamically Analyzing WebAssembly (https://software-lab.org/publications/asplos2019_Wasabi.pdf) - Daniel Lehmann and Michael Pradel, 2019.
- Bringing the Web up to Speed with WebAssembly (https://github.com/WebAssembly/spec/blob/main/papers/pldi2017.pdf) - Andreas Haas, Andreas Rossberg, Derek L. Schuff, Ben L. Titzer, Michael Holman, Dan Gohman, Luke Wagner, Alon Zakai, JF Bastien,
2017.
Books
- Rust and WebAssembly (https://rustwasm.github.io/docs/book/) - Open-source book describing how to use Rust and WebAssembly together.
- Programming WebAssembly with Rust (https://pragprog.com/titles/khrust/programming-webassembly-with-rust/) - Kevin Hoffman, 2019.
- The Art of WebAssembly (https://nostarch.com/art-webassembly) - Rick Battagline, 2021.
Videos
- WebAssembly (https://www.youtube.com/watch?v=NhAPPQqKCi8) - Nick Bray, 2015.
- What is WebAssembly? (https://www.youtube.com/watch?v=HktWin_LPf4) - Lin Clark, 2017.
- Get Going with WebAssembly (https://www.youtube.com/watch?v=iTrx0BbUXI4) - Johan Brandhorst, 2018.
- WebAssembly and the Death of JavaScript (https://www.youtube.com/watch?v=pBYqen3B2gc) - Colin Eberhardt, 2018.
Projects
Compilers
- Emscripten (https://emscripten.org/) - Compile C and C++ to WebAssembly.
- AssemblyScript (https://www.assemblyscript.org/) - TypeScript-like language compiled to WebAssembly.
- Binaryen (https://github.com/WebAssembly/binaryen) - Compiler infrastructure for WebAssembly.
- TinyGo (https://tinygo.org/) - Go compiler for WebAssembly.
Runtimes
- Wasmtime (https://wasmtime.dev/) - Standalone WebAssembly runtime.
- WasmEdge (https://github.com/WasmEdge/WasmEdge) - High-performance WebAssembly runtime.
- WAVM (https://github.com/WAVM/WAVM) - WebAssembly virtual machine.
- Wasm3 (https://github.com/wasm3/wasm3) - Small, fast WebAssembly interpreter.
- Wasmer (https://wasmer.io/) - WebAssembly runtime for desktop, cloud, and edge.
Libraries
- wasm-bindgen (https://github.com/rustwasm/wasm-bindgen) - Interoperability between Rust and JavaScript.
- wasmer-js (https://github.com/wasmerio/wasmer-js) - WebAssembly runtime for JavaScript.
- wasm-pack (https://github.com/rustwasm/wasm-pack) - Build, test, and publish Rust-generated Wasm.
- Wabt (https://github.com/WebAssembly/wabt) - WebAssembly binary tolkit.
- WASI (https://github.com/WebAssembly/WASI) - WebAssembly system interface.
Tools
- Wasm Explorer (https://mbebenita.github.io/WasmExplorer/) - Visualize and debug WebAssembly binaries.
- wasm2c (https://github.com/WebAssembly/wabt/tree/main/wasm2c) - Convert WebAssembly binaries to C.
Frameworks
- Blazor (https://blazor.net/) - .NET web framework running on WebAssembly.
- Yew (https://yew.rs/) - Rust framework for building web applications using WebAssembly.
- Leptos (https://github.com/leptos-rs/leptos) - Full-stack Rust framework for WebAssembly web apps.
Communities
- WebAssembly GitHub Organization (https://github.com/WebAssembly)
- W3C WebAssembly Group (https://www.w3.org/wasm/)
- WebAssembly Subreddit (https://www.reddit.com/r/webassembly/)
Contributing
Contributions are welcome. Please read the contribution guidelines (https://github.com/idematos/awesome-webassembly/blob/main/contributing.md) before submitting your changes.
webassembly Github: https://github.com/idematos/awesome-webassembly
A curation of WebAssembly resources, projects, and communities.
▐ WebAssembly (https://webassembly.org/) (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client
▐ and server applications.
Contents
- Resources (#resources)
- Basics (#basics)
- Articles (#articles)
- Books (#books)
- Videos (#videos)
- Projects (#projects)
- Compilers (#compilers)
- Runtimes (#runtimes)
- Libraries (#libraries)
- Tools (#tools)
- Frameworks (#frameworks)
- Communities (#communities)
Resources
Basics
- WebAssembly MDN (https://developer.mozilla.org/en-US/docs/WebAssembly)
- WebAssembly Specification (https://webassembly.github.io/spec/)
Articles
- What is WebAssembly? (https://medium.com/javascript-scene/what-is-webassembly-the-dawn-of-a-new-era-61256ec5a8f6) - Eric Elliott, 2015.
- 7 Things You Should Know About WebAssembly (https://auth0.com/blog/7-things-you-should-know-about-web-assembly/) - Sebastian Peyrott, 2015.
- WebAssembly Demystified (https://floooh.github.io/2017/06/09/webassembly-demystified.html) - Andre Weissflog, 2017.
- Why WebAssembly? (https://medium.com/dfinity/why-webassembly-f21967076e4) - Andreas Rossberg, 2018.
- The world's easiest introduction to WebAssembly (https://medium.com/free-code-camp/webassembly-with-golang-is-fun-b243c0e34f02) - Martin Olsansky, 2019.
- The Future of Programming: WebAssembly & Life After JavaScript (https://www.sitepoint.com/future-programming-webassembly-life-after-javascript/) - Eric Elliott, 2024.
- The Web Assembles (https://blog.scottlogic.com/ceberhardt/assets/white-papers/the-web-assembles.pdf) - Chris Price and Colin Eberhardt, 2017.
- An Empirical Study of Real-World WebAssembly Binaries (https://dlehmann.eu/publications/WasmBench-www2021.pdf) - Aaron Hilbig, Daniel Lehmann, and Michael Pradel, 2021.
- Not So Fast: Analyzing the Performance of WebAssembly vs. Native Code (https://www.usenix.org/system/files/atc19-jangda.pdf) - Abhinav Jangda, Bobby Powers, Emery D. Berger, and Arjun Guha, 2019.
- Provably-Safe Multilingual Software Sandboxing using WebAssembly (https://www.usenix.org/system/files/sec22-bosamiya.pdf) - Jay Bosamiya, Wen Shih Lim, and Bryan Parno, 2022.
- Wasabi: A Framework for Dynamically Analyzing WebAssembly (https://software-lab.org/publications/asplos2019_Wasabi.pdf) - Daniel Lehmann and Michael Pradel, 2019.
- Bringing the Web up to Speed with WebAssembly (https://github.com/WebAssembly/spec/blob/main/papers/pldi2017.pdf) - Andreas Haas, Andreas Rossberg, Derek L. Schuff, Ben L. Titzer, Michael Holman, Dan Gohman, Luke Wagner, Alon Zakai, JF Bastien,
2017.
Books
- Rust and WebAssembly (https://rustwasm.github.io/docs/book/) - Open-source book describing how to use Rust and WebAssembly together.
- Programming WebAssembly with Rust (https://pragprog.com/titles/khrust/programming-webassembly-with-rust/) - Kevin Hoffman, 2019.
- The Art of WebAssembly (https://nostarch.com/art-webassembly) - Rick Battagline, 2021.
Videos
- WebAssembly (https://www.youtube.com/watch?v=NhAPPQqKCi8) - Nick Bray, 2015.
- What is WebAssembly? (https://www.youtube.com/watch?v=HktWin_LPf4) - Lin Clark, 2017.
- Get Going with WebAssembly (https://www.youtube.com/watch?v=iTrx0BbUXI4) - Johan Brandhorst, 2018.
- WebAssembly and the Death of JavaScript (https://www.youtube.com/watch?v=pBYqen3B2gc) - Colin Eberhardt, 2018.
Projects
Compilers
- Emscripten (https://emscripten.org/) - Compile C and C++ to WebAssembly.
- AssemblyScript (https://www.assemblyscript.org/) - TypeScript-like language compiled to WebAssembly.
- Binaryen (https://github.com/WebAssembly/binaryen) - Compiler infrastructure for WebAssembly.
- TinyGo (https://tinygo.org/) - Go compiler for WebAssembly.
Runtimes
- Wasmtime (https://wasmtime.dev/) - Standalone WebAssembly runtime.
- WasmEdge (https://github.com/WasmEdge/WasmEdge) - High-performance WebAssembly runtime.
- WAVM (https://github.com/WAVM/WAVM) - WebAssembly virtual machine.
- Wasm3 (https://github.com/wasm3/wasm3) - Small, fast WebAssembly interpreter.
- Wasmer (https://wasmer.io/) - WebAssembly runtime for desktop, cloud, and edge.
Libraries
- wasm-bindgen (https://github.com/rustwasm/wasm-bindgen) - Interoperability between Rust and JavaScript.
- wasmer-js (https://github.com/wasmerio/wasmer-js) - WebAssembly runtime for JavaScript.
- wasm-pack (https://github.com/rustwasm/wasm-pack) - Build, test, and publish Rust-generated Wasm.
- Wabt (https://github.com/WebAssembly/wabt) - WebAssembly binary tolkit.
- WASI (https://github.com/WebAssembly/WASI) - WebAssembly system interface.
Tools
- Wasm Explorer (https://mbebenita.github.io/WasmExplorer/) - Visualize and debug WebAssembly binaries.
- wasm2c (https://github.com/WebAssembly/wabt/tree/main/wasm2c) - Convert WebAssembly binaries to C.
Frameworks
- Blazor (https://blazor.net/) - .NET web framework running on WebAssembly.
- Yew (https://yew.rs/) - Rust framework for building web applications using WebAssembly.
- Leptos (https://github.com/leptos-rs/leptos) - Full-stack Rust framework for WebAssembly web apps.
Communities
- WebAssembly GitHub Organization (https://github.com/WebAssembly)
- W3C WebAssembly Group (https://www.w3.org/wasm/)
- WebAssembly Subreddit (https://www.reddit.com/r/webassembly/)
Contributing
Contributions are welcome. Please read the contribution guidelines (https://github.com/idematos/awesome-webassembly/blob/main/contributing.md) before submitting your changes.
webassembly Github: https://github.com/idematos/awesome-webassembly