3 releases (breaking)
| new 0.4.0 | Jun 2, 2026 |
|---|---|
| 0.3.0 | May 29, 2026 |
| 0.2.0 | May 26, 2026 |
#8 in #vello
1.5MB
23K
SLoC
fission-shell-mobile
Mobile shell wrapper for Fission applications on Android and iOS.
fission-shell-mobile exposes MobileApp, the mobile entry point used by Fission projects that target Android devices/emulators and iOS devices/simulators. It is built on the shared shell runtime so mobile apps use the same state, widget, rendering, input, capability, and test architecture as desktop and web targets.
Most application developers should use the public facade instead of depending on this crate directly:
[dependencies]
fission = { version = "0.4.0", features = ["android"] }
# or
fission = { version = "0.4.0", features = ["ios"] }
What it provides
MobileApp<S, W>for launching a Fission widget tree on Android or iOS.- Android
android_mainentry support through the platform target scaffold generated by the CLI. - iOS simulator/device app-bundle handoff through the generated platform files.
- Touch input, high-DPI scaling, GPU-first rendering through the shared winit/Vello shell, explicit renderer diagnostics, and the same action/reducer/effect pipeline used by other shells.
- Host capability registration hooks for notifications, deep links, NFC, biometrics, passkeys, barcode scanning, camera, clipboard, geolocation, haptics, microphone, Bluetooth, Wi-Fi, and volume control where the platform supports the capability.
Developer workflow
Use the single installed Fission command to add and run mobile targets:
cargo install cargo-fission
fission init my-app
cd my-app
fission add-target android ios
fission doctor android ios
fission devices
fission run --target android --device <device-id>
fission run --target ios --device <simulator-id>
The CLI writes target support files under platforms/android and platforms/ios, records target metadata in fission.toml, and prints setup guidance when SDKs, Rust targets, signing inputs, or platform tools are missing.
Design notes
Mobile applications should keep platform work behind capabilities and shell configuration. Shared UI code should remain normal Fission widgets and reducers, while the active mobile host supplies platform-specific behavior such as notification registration, passkey prompts, camera capture, or geolocation permission prompts.
Documentation
See fission.rs for mobile target setup, platform capability configuration, packaging, and release workflows.
License
MIT
Dependencies
~32–51MB
~1M SLoC