A platform for reactive programming in Rust that can be used to manage the state of any kind of application. It shines when used to drive graphical user interfaces and integrates well with both immediate mode and retained mode GUI frameworks.
Reducer is available on [crates.io], simply add it as a dependency in your Cargo.toml
:
[dependencies]
reducer = "1.1"
and import it in your lib.rs
:
extern crate reducer;
use crate::reducer::*;
The full API documentation is available on [docs.rs]
To see Reducer in action, check out the [examples] directory. There you'll find multiple implementations of a simple Todo List app using Reducer to drive popular GUI frameworks.
To run an example, execute
```
cargo run --release --example
```
where <NAME>
can be one of [conrod] or [iui].
Note to macOS users: due to an issue with
ui-sys
you might need to prependCXXFLAGS+=-stdlib=libc++
to the command above, see brunocodutra/reducer#1.
Reducer is an open source project and you're very welcome to contribute to this project by opening [issues] and/or pull requests, see CONTRIBUTING for general guidelines.
Reducer is distributed under the terms of the MIT license, see [LICENSE] for details.