7 个版本

0.3.0-alpha.42024年5月23日
0.3.0-alpha.32024年5月10日
0.2.0 2024年2月24日
0.1.0 2024年2月23日

#597GUI

MIT/Apache

14KB
364

Actuate

Crates.io version docs.rs docs CI status

一个高性能的响应式用户界面框架,为 Rust 提供了一个通用库,允许您使用声明式、类型安全的语法定义 UI。视图组合在一起形成一个静态类型的视图树,可以存储在堆栈上,这使得该架构具有高性能。

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
}

灵感来源

这个 crate 受 Xilem 的启发,并使用类似的类型安全响应式方法。与这个 crate 的主要区别是作用域的概念,组件在其自己的作用域中存储其状态,对那个作用域的更新将重新渲染组件。

状态管理受 React 和 Dioxus 的启发。

依赖项

~280KB