Lifetime-Friendly, Component-Based, Retained-Mode UI Powered by Async Rust
MPL-2.0 License
A web UI framework where Futures are components.
Async UI is...
async fn hello_world() {
"Hello World".render().await;
}
async fn app() {
let resource = loading_indicator(
fetch_resource()
).await;
show_resource(&resource).await;
}
async fn counter() {
let mut count = 0;
let value_text = Text::new();
let incr_button = Button::new();
join((
value_text.render(),
incr_button.render("Increment".render()),
async {
loop {
value_text.set_data(&count.to_string());
incr_button.until_click().await;
count += 1;
}
},
))
.await;
}