actuate 0.3.0-alpha.4

A reactive user-interface framework
Documentation

A high-performance reactive user-interface framework for Rust. This crate provides a generic library that lets you define UI using declarative, type-safe syntax. Views combine together to form a statically-typed view tree that can be stored on the stack, giving this architecture its high performance.

use actuate::{use_state, Scope, View};

struct App;

impl View for App {
    fn body(&self, cx: &Scope) -> impl View {
        let (count, set_count) = use_state(cx, || 0);

        dbg!(count);

        set_count.set(count + 1)
    }
}

#[tokio::main]
async fn main() {
    actuate::run(App).await
}

Inspiration

This crate is inspired by Xilem and uses a similar approach to type-safe reactivity. The main difference with this crate is the concept of scopes, components store their state in their own scope and updates to that scope re-render the component.

State management is inspired by React and Dioxus.