Anybody doing WASM state management in Rust?

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Allusion

    A free and open source desktop application for managing your visual library

    One idea that could work out is to move state management to a web worker and state changes are just messages between the main thread and web worker (JS example with Redux + React + Comlink. The Redux and Comlink would be reimplemented in Rust (requires atomics, WASM intrinsics and however Redux works). However, using atomics is not so nice. Atomic.waitAsync has so far been only stabilized in Chrome last time I used it and the Rust std library has no equivalent, so you still have to call that from Rust. I've implemented something similar to a channel/spinlock but with statics (github source).

  • yewdux

    Ergonomic state management for Yew applications

    Maybe take inspiration from https://github.com/intendednull/yewdux perhaps (it uses Yew, so not framework agnostic, but take a look at the API or something)

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • bounce

    The uncomplicated Yew State management library

    Also bounce is another Yew-specific state management solution.

  • reax-v2

    Since then I've been slowly working on implementing those features inside https://gitlab.com/samsartor/reax-v2. But grad school keeps me busy enough that I don't honestly know if it will ever be done. If anyone else is working on that sort of system, I'd love to trade notes!

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts