Kagura

kagura is a component-oriented GUI framework. This framework has extensibility to be used in different contexts.

When you create a web page, kagura needs nusa. nusa gives kagura features to manuplate DOM by virtual-DOM.

Documents

https://kagura.gitbook.io/kagura-nusa-en/

Creating a web page

kagura needs nusa to generate a web page. like this:

```rust extern crate jssys; extern crate kagura; extern crate nusa; extern crate wasmbindgen; extern crate wasmbindgenfutures; extern crate web_sys;

use nusa::prelude::; use wasm_bindgen::prelude::;

[wasm_bindgen(start)]

pub fn main() { wasmbindgenfutures::spawnlocal(async { kagura::Runtime::run(nusa::domnode::BasicDomNode::new(entrypoint(), || { vec![Html::h1( Attributes::new(), Events::new(), vec![Html::text("Hello World")], )] })) .await; }); }

fn entrypoint() -> websys::Node { websys::window() .unwrap() .document() .unwrap() .getelementbyid("app") .unwrap() .into() } ```