Mode:
Duration:
1
Coding works best on desktop or with an external keyboard.
Coding works best on desktop or with an external keyboard.
Renders different messages based on the model state.
# seed/demo/conditional.rs
use seed::{prelude::*, *};
struct Model { logged_in: bool }
enum Msg { ToggleLogin }
fn init(_: Url, _: &mut Orders<Msg>) -> Model {
Model { logged_in: false }
}
fn update(msg: Msg, model: &mut Model, _: &mut Orders<Msg>) {
if let Msg::ToggleLogin = msg {
model.logged_in = !model.logged_in
}
}
fn view(model: &Model) -> Node<Msg> {
div![
if model.logged_in { h1!["Welcome back!"] } else { h1!["Please log in"] },
button![ev(Ev::Click, |_| Msg::ToggleLogin), "Toggle"]
]
}
#[wasm_bindgen(start)]
pub fn start() {
App::start("app", init, update, view);
}Seed is a Rust framework for creating front-end web apps with WebAssembly. It provides a component-based architecture inspired by Elm, enabling Rust developers to write type-safe, reactive web applications that compile to Wasm.
Origin & Creator
Seed was created by IcedDev and the Rust community, first appearing around 2018.
Industrial Note
Seed-Rust is ideal for developers who want Rust’s safety and performance for front-end web apps, especially for Wasm-based projects where speed and correctness are critical.