#frp #gui-applications #gui #reactive #framework #functional #button

cedar

用于创建GUI应用程序的反应式、函数式库

3个不稳定版本

使用旧Rust 2015

0.1.1 2017年7月22日
0.1.0 2017年7月22日
0.0.1 2017年2月22日

#frp中排名26

MIT许可证

44KB
1.5K SLoC

cedar 🌲

cedar是一个函数式-反应式框架。

crates.io License Build Status

状态: cedar处于alpha阶段 - 尚未准备好进入生产环境。

用法

通过cargocedar添加到您的项目中。

创建按钮和反应式文本 🚀

extern crate cedar;

use cedar::dom;
use cedar::dom::Builder;

type Model = i32;

#[derive(PartialEq, Debug, Clone)]
enum Message {
    Increment,
    Decrement,
}

fn update(model: Model, message: Message) -> Model {
    match message {
        Message::Increment => model + 1,
        Message::Decrement => model - 1,
    }
}

fn view(model: &Model) -> dom::Object<Message> {
    dom::stack()
        .add(dom::button().text("+".into()).click(Message::Increment))
        .add(dom::label().text(model.to_string()))
        .add(dom::button().text("-".into()).click(Message::Decrement))
}

fn main() {
    cedar::program(0, update, view)
}

设计

一个cedar应用程序由一个模型更新视图组成。待办事项:进一步说明...

鸣谢

灵感来自

cedar版权所有 © Tom Schroeder [email protected] 并在MIT许可下发布。

依赖

~0–2.6MB
~65K SLoC