redux-rs
bonsai
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
redux-rs
-
Xilem: An Architecture for UI in Rust
From the first paragraph:
> ... Architectures that work well in other languages generally don’t adapt well to Rust, mostly because they rely on shared mutable state and that is not idiomatic Rust, to put it mildly. ...
The author doesn't mention Redux (the architecture), which is surprising. There are three principles[1]:
1. The global state of your application is stored in an object tree within a single store.
2. The only way to change the state is to emit an action, an object describing what happened.
3. Changes are made with pure functions.
In other words, the components of an application never mutate the state tree directly. Rather, they emit actions which re-generates the state tree without mutation.
This style of state management is compatible with Rust's ownership model. The emphasis on pure functions means that it's not necessary for your application to hold multiple mutable references, which I'm guessing underlies the "generally don't adapt well to Rust" part of the claim.
[1] https://redux.js.org/understanding/thinking-in-redux/three-p...
[2] https://github.com/jaredonline/redux-rs
bonsai
-
What is lacking in Rust ecosystem?
Reminds me a bit of Bonsai except of course Bonsai is for web UIs.
- Xilem: An Architecture for UI in Rust
What are some alternatives?
solid-site - Code that powers the SolidJS.com platform.
miniserve - 🌟 For when you really just want to serve some files over HTTP right now!
slint - Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.
cxx-qt - Safe interop between Rust and Qt
incr_dom - A library for building dynamic webapps, using Js_of_ocaml.
areweguiyet - A website built for the Rust community
django-tables2 - django-tables2 - An app for creating HTML tables
rui - Declarative Rust UI library
nih-plug - Rust VST3 and CLAP plugin framework and plugins - because everything is better when you do it yourself
sycamore - A library for creating reactive web apps in Rust and WebAssembly
rust-xml-schema - [WIP] (Self-generating) XML parser generator based on XML schemas.
AudioKitUI - Controls and Visualization for AudioKit apps