fission-shell-mobile 0.4.0

Mobile shell wrapper for Android and iOS Fission applications
Documentation

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_main entry 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