55 个版本
0.14.5 | 2022 年 4 月 21 日 |
---|---|
0.13.5 | 2021 年 12 月 3 日 |
0.13.3 | 2021 年 10 月 19 日 |
0.12.0 | 2020 年 11 月 15 日 |
0.8.3 | 2019 年 11 月 30 日 |
#70 in #gui-framework
用于 nusa
23KB
568 代码行
Kagura
kagura
是一个面向组件的 GUI 框架。此框架具有在不同环境中使用的扩展性。
当您创建网页时,kagura
需要 nusa
。 nusa
通过虚拟 DOM 为 kagura
提供操纵 DOM 的功能。
文档
https://kagura.gitbook.io/kagura-nusa-en/
创建网页
kagura
需要 nusa
来生成网页,如下所示:
extern crate js_sys;
extern crate kagura;
extern crate nusa;
extern crate wasm_bindgen;
extern crate wasm_bindgen_futures;
extern crate web_sys;
use nusa::prelude::*;
use wasm_bindgen::prelude::*;
#[wasm_bindgen(start)]
pub fn main() {
wasm_bindgen_futures::spawn_local(async {
kagura::Runtime::run(nusa::dom_node::BasicDomNode::new(entry_point(), |_| {
vec![Html::h1(
Attributes::new(),
Events::new(),
vec![Html::text("Hello World")],
)]
}))
.await;
});
}
fn entry_point() -> web_sys::Node {
web_sys::window()
.unwrap()
.document()
.unwrap()
.get_element_by_id("app")
.unwrap()
.into()
}
依赖项
~4–13MB
~157K SLoC