Top 23 Rust WebAssembly Projects
🚀 The leading WebAssembly Runtime supporting WASI and EmscriptenProject mention: I finally finished a 2-year-in-the-making arena-style AI competition platform! 😊 | reddit.com/r/SideProject | 2021-04-12
We always run it inside of wasmer, which is fully sandboxed. The only access to resources we give it is some standard stuff like time/entropy, as well as access to a tempdir that has the robot source in a file.
🌀 A nonsense activity generatorProject mention: Genact – A Nonsense Activity Generator | news.ycombinator.com | 2021-03-21
Scout APM - Leading-edge performance monitoring starting at $39/month. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
Lucet, the Sandboxing WebAssembly Compiler.Project mention: Writing Rust the Elixir way | dev.to | 2020-11-26
I also want to use this opportunity to say a big thank you to the teams working on Rust, Wasmer, Wasmtime, Lucet and waSCC. It would be impossible to build Lunatic without all the hard work put into this projects.
A standard library for the client-side WebProject mention: C developers will always have jobs. | reddit.com/r/rustjerk | 2021-02-13
Wasted a few hours because of this: 
An alternative BEAM implementation, designed for WebAssembly (by lumen)Project mention: Launch HN: Lunatic (YC W21) – An Erlang Inspired WebAssembly Platform | news.ycombinator.com | 2021-03-06
A Rust framework for creating web appsProject mention: Showcase: A tracker for "Love Letter" in Rust/WASM | reddit.com/r/rust | 2021-04-02
The tracker is of course written in Rust and compiled to WASM. It uses the Seed Framework. Layout is managed by CSS Grid and Flexbox, and general styling is thanks to Bulma.
A rust drawing library for high quality data plotting for both WASM and native, statically and realtimely 🦀 📈🚀Project mention: How Safe Is Zig? | news.ycombinator.com | 2021-03-22
> You can write very simple Rust
Technically true, but only really true if you don't use many dependencies. At some point you're going to use some dependency that uses async/await all over the place or really goes wild with generics and then it is definitely not simple.
* Heim (https://docs.rs/heim/0.0.11/heim/) is a great crate for getting system info, but it only uses async/await so you are thrown into that rather painful world even if you don't need it.
* Plotters (https://github.com/38/plotters) is a pretty great graph plotting library for Rust (the only one as far as I know), but they have definitely gone a bit overboard with the generics. Want to draw a scatter graph?
I tried simply calling `PointSeries::new()` and got a basically impossible-to-follow error about Rust not being able to infer the type `E` here:
Very simple it is not!
A Cargo subcommand for the client-side Web
😠⚔️😈 A minimalistic 2D turn-based tactical game in RustProject mention: RustGameDev Podcast #4: Fedor Logachev (SHAR, miniquad, macroquad) | reddit.com/r/rust_gamedev | 2020-12-23
Oh, I was really waiting for this episode as my Zemeroth game shares a lot of history with mini~ and macroquad. Here're some of my thoughts.
NoteCalc is a handy calculator trying to bring the advantages of Soulver to the web.
GlueSQL is quite sticky, it attaches to anywhere.Project mention: Rusticles #10 - Wed Sep 09 2020 | dev.to | 2020-09-09
gluesql/gluesql (Rust): GlueSQL is quite sticky, it attaches to anywhere.
Parity's ink! to write smart contracts (by paritytech)Project mention: Tech noob here, is Substrate a coding language as Solidity? | reddit.com/r/dot | 2021-02-04
If you're looking for a language for smart contract coding that has a Polkadot flavor, check out Ink
:rocket: a lightweight, universal actor-model vm for writing scalable and reliable applications that run natively and on WebAssembly (by AbstractMachinesLab)Project mention: LAM: an actor-model VM for WebAssembly and native | reddit.com/r/WebAssembly | 2021-03-02
Native integration of Serde with wasm-bindgen
Some transformation overhead can be addressed by using serde-wasm-bindgen, but in my example repo I'll use it only for the input side (deserialization). On serialization a collection like HashMap or BTreeMap gets turned into an ES2015 Map, which is unfortunated as well, because they cannot be JSON stringified.
A serverless web application framework for collaboration and scale.Project mention: Launch HN: Lunatic (YC W21) – An Erlang Inspired WebAssembly Platform | news.ycombinator.com | 2021-03-06
Hey, I tried to build something like this too: https://github.com/embly/embly
My takeaway after building that is that the build tooling is the major pain point. If you're trying to onboard someone onto this platform from their favorite language the hard part is getting from code to the .wasm file. wasm-bindgen (as an example) has put so much effort into build tooling, I wonder if that's a necessary path for success here.
It's also great that WASI exists now, if I had to do embly again I'd just use wasi and then implement all of my "platform" features as filesystem features, not syscalls. If your API interface is the filesystem then you could provide interoperability between environments. Let's say you want to include a key-value store in the wasi runtime, you just make the keys files and the values file contents. Then you could so something like ship a FUSE filesystem to interact with the filesystem in the same way from a traditional VM or on a personal computer. I got really bogged down in custom syscalls and this path seems potentially more elegant.
Have you also thought about live process migration? I got really excited about this from a technical standpoint. Since you completely control the runtime you could set up a clustered wasm solution that moves long running processes from VM to VM by sending their live memory state to another machine. Not sure if that's actually useful, but cool that it's not bogged down by the usual complexities of doing the same in a full OS environment.
Anyway, so glad to see that someone is taking this idea on. Please make a cloud platform and let me pay for it. Also happy to chat more if any of this is useful, I've joined your discord as "max".
The first streamable, fixed memory XML, HTML, and JSX parser for WebAssembly.Project mention: Introducing check html links - no more bad links | dev.to | 2021-01-27
I have been using sax-wasm in a few situations before and I knew it supported streaming. I knew that way it could be FAST 🤞!
Ergonomic Rust bindings to the Web platformProject mention: Gloo (an official rustwasm project) needs a maintainer | reddit.com/r/rust | 2021-03-06
One potential candidate to take the role of gloo is https://github.com/mild-times/localghost, the once, on to convert web_sys::Event into rust async future/stream is super handy. There are other modules handling io/net too.
A framework for building serverless applications powered by WebAssembly 🚀Project mention: AssemblyLift v0.2.9: BIG performance boost + new features! 🚀 | dev.to | 2021-02-09
Service TOML definitions now support specifying authorizers by ID for each function. These map to API Gateway authorizers; currently only IAM and JWT are supported. See the pull request for examples.
Convert excel file to json data
Project mention: Advice for doing a web-playable 7DRL | reddit.com/r/roguelikedev | 2021-02-13
- Cavernos (https://github.com/jordwest/cavernos)
portfolio website created with yew stackProject mention: Portfolio - Digital Ocean Hackathon Submission | dev.to | 2021-01-10
What are some of the best open-source WebAssembly projects in Rust? This list will help you: