idealyst new my-app cd my-app
my-app/ Cargo.toml # crate-type: cdylib + rlib index.html # web entry, loads /pkg/my_app.js fonts/ # bundled typeface assets src/ lib.rs # app() + register_extensions() app.rs # the root component components/ # one file per ui! element
idealyst dev # hot-reload at http://localhost:8080
idealyst run ios # boot in iOS simulator idealyst run android # install on emulator or USB device
use runtime_core::{bind, component, signal, text_fmt, ui, Element}; #[component] pub fn app() -> Element { let count = signal!(0); ui! { text { text_fmt!("Count: {}", bind!(count)) } button( label = "Increment", on_click = move || count.update(|n| *n += 1), ) } }