Made with WebAssembly
Made with WebAssembly is an Open Source showcase of awesome production applications, side projects, and use cases made with WebAssembly ( Wasm ). 👷
After several Twitter threads (1, 2, ...) on highlighting use cases, projects, and companies in production using WebAssembly. Myself and a few other Wasm community members thought it'd be a great idea to have a dedicated place to find projects using WebAssembly, and highlight what WebAssembly can be used for! We were hoping it could be easy to comb through, and provide additional context on why/how individual project are using Wasm. 👍🏾
When should I generally use WebAssembly?There are two key features of WebAssembly. Performance and Portability. Here we will cover how and why these key features of WebAssembly can be used effectively for your application.
A good rule of thumb is: Use WebAssembly for computationally intensive tasks, such as games, image manipulation, math, physics, audio effects, etc....
PortabilityWebAssembly is extremely portable. This can be explained in multiple scenarios:
- Standalone Server side runtimes like Wasmer, Wasmtime, etc.. allow for running WebAssembly on the server, as its own application, or embedded in a host application written in a variety of languages. This is great, since you can write business logic, or computationally intensive algorithms once and have a common shared implementation that is run in a lightweight runtime in your application. Also, with the WebAssembly System interface, you can write entire system level applications (File manipulation, servers once the standard is more developed, etc..) in just WebAssembly that is then run in a runtime. And due to the sandboxing nature of WebAssembly (Linear memory, capability based security, etc...), WebAssembly also becomes a viable way to containerize applications, as noted by Solomon Hykes, the co-creator of Docker.
Thus, you may want to use WebAssembly, if you want your library or code to be flexible, sandboxed, and easily bundled, to be shared across many platforms.
If you are interested in trying out / learning WebAssembly yourself, you can checkout WasmByExample.
Proposing Changes to the Website
If you would like to add/edit/remove anything from this website, please see the contribution docs on the project repo. You can also open an issue on the repo, to start a discussion or propose changes there as well!
Google Analytics is used on Made with WebAssembly, and is only used to record Basic visit data, as the script is only loaded.
Made with WebAssembly Resources
Additional WebAssembly Resources
- World of Wasm - Another awesome WebAssembly Showcase.
- WasmByExample - Set of hands-on introduction examples and tutorials for WebAssembly (Wasm).
- AssemblyScript - TypeScript(like) to WebAssembly compiler.
- Rust/Wasm Book - Book on getting started with Rust and WebAssembly.
- Emscripten - Toolchain for compiling C / C++ to WebAssembly.
- WasiEnv - Toolchain for compiling C / C++ to WebAssembly and WASI.