25个版本 (9个破坏性版本)
0.10.0-alpha.5 | 2024年1月8日 |
---|---|
0.9.4 | 2023年12月16日 |
0.8.0 | 2023年12月15日 |
0.6.0-alpha.3 | 2023年11月16日 |
#411 in GUI
每月240次下载
26KB
687 行
Rust的跨平台用户界面框架。
Viewbuilder 是一个模块化GUI库,可以作为完整的框架使用,也可以使用单独的部分。
use viewbuilder::{
view,
web::{self, html, Web},
ControlFlow, Model, View,
};
enum Message {
Increment,
Decrement,
}
#[derive(Default)]
struct App {
count: i32,
}
impl Model<Message> for App {
fn handle(&mut self, msg: Message) -> ControlFlow {
match msg {
Message::Decrement => self.count -= 1,
Message::Increment => self.count += 1,
}
ControlFlow::Rebuild
}
}
fn view(model: &App) -> impl View<Web, Message> {
(
format!("High five count: {}", model.count),
view::once(html::button(
html::on_click(|| Message::Increment),
"Up high!",
)),
view::once(html::button(
html::on_click(|| Message::Decrement),
"Down low!",
)),
)
}
fn main() {
web::run(App::default(), view)
}
入门
使用以下命令安装很简单
cargo add viewbuilder --features full
依赖
~0–2.1MB
~41K SLoC