Skip to main content

MobilerApp

Trait MobilerApp 

Source
pub trait MobilerApp: Default {
    type Event: Serialize + DeserializeOwned + Send + 'static;
    type Model: Default;

    // Required methods
    fn update(
        &self,
        event: Self::Event,
        model: &mut Self::Model,
        cx: &mut Cx<Self::Event>,
    );
    fn view(&self, model: &Self::Model) -> Widget;

    // Provided methods
    fn input(
        &self,
        id: &str,
        value: InputValue,
        model: &mut Self::Model,
        cx: &mut Cx<Self::Event>,
    ) { ... }
    fn restore(&self, data: &str, model: &mut Self::Model) { ... }
    fn init(&self, model: &mut Self::Model, cx: &mut Cx<Self::Event>) { ... }
}
Expand description

What a Mobiler app implements. Write typed domain events; Mobiler serializes them into opaque tokens behind the scenes.

Required Associated Types§

Required Methods§

Source

fn update( &self, event: Self::Event, model: &mut Self::Model, cx: &mut Cx<Self::Event>, )

Source

fn view(&self, model: &Self::Model) -> Widget

Provided Methods§

Source

fn input( &self, id: &str, value: InputValue, model: &mut Self::Model, cx: &mut Cx<Self::Event>, )

Source

fn restore(&self, data: &str, model: &mut Self::Model)

Restore persisted state on startup. data is whatever you last passed to cx.save (or empty if nothing was saved). Default: ignore.

Source

fn init(&self, model: &mut Self::Model, cx: &mut Cx<Self::Event>)

Run once on startup, after restore. The place to kick off initial effects — e.g. fetch data with cx.get. Default: nothing.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§