mobiler-web
Mobiler's web shell — the same Rust core, rendered to the DOM.
The web twin of Mobiler's generic Android (Jetpack Compose) and iOS (SwiftUI)
shells. It drives any MobilerApp's core
with Crux, renders its Widget tree to the DOM
with Leptos (CSR/WASM), and fulfils the built-in capabilities
natively in the browser — write your app once; it runs on the web with one line. 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.
// src/main.rs of a Trunk project
<!-- index.html — that's all the markup you need -->
- No CSS required. The shell ships its own theme (
mobiler.css) and injects it on mount, sorun::<App>()renders a fully-styled app. It's injected at the front of<head>, so your own stylesheet (if you add one) overrides any widget class. - Theme-as-data.
Scaffold.dark_modeflips the whole theme — the web twin of the native shells'preferredColorScheme/ Material theme. - Complete widget coverage. Every
mobiler-uiWidgetvariant renders (thematchis exhaustive, like the native shells), so a core that runs on Android/iOS renders identically on the web.
Build and serve with Trunk: trunk serve. See the
fullstack-todo
and coffee demos for
working examples (one core, three platforms).
License
Dual-licensed under either MIT or Apache-2.0, at your option.