mobiler-core
Mobiler's runtime — the developer-facing API.
Implement MobilerApp with your typed events, model, and a view built from the
widget builders. Mobiler wraps it in MobilerShell,
a Crux app speaking the fixed UI ABI
(mobiler-ui) — so the native shell stays
generic and you never touch the wire protocol.
pub type App = ;
- Capabilities via
Cx— device APIs as async effects, reached through typed helpers inupdate/input. Built in: HTTP, storage, clipboard, share, browser, toast, device info, haptics, a confirm dialog, the photo picker, camera capture, the date picker, and the time picker. Each is an opaque{plugin, op, input}effect, so adding one never changes the wire ABI; the generic shell fulfils them natively on Android, iOS, and the web. - Navigation — a core-owned
Nav<Route>stack +nav_scaffold. - Theme-as-data — dark mode etc. flow through the
Widgettree. - Charts — typed builders for data viz:
bar_chart/line_chart, multi-serieschart/stacked_bar_chart/pct_stacked_bar_chart,pie_chart/donut_chart, fitness-stylerings_chart, agauge_chart, andregion_chart(variable-width coverage-gap bands). - Live native views — builders for native-engine widgets the shell hosts:
video_player(AVPlayer / ExoPlayer /<video>),web_view,pdf_view, andmap(MapKit / MapLibre — markers + tap events, no API key). - Accessibility —
a11y(child, label)(+with_a11y_hint/with_a11y_role) names any widget for VoiceOver / TalkBack.
Most users go through the mobiler CLI, which
scaffolds a project wired to this crate and a generic native shell.
License
Dual-licensed under either MIT or Apache-2.0, at your option.