API Reference mob v#0.6.2

Copy Markdown View Source

Modules

Mob

Mob — BEAM-on-device mobile framework for Elixir.

Native alert dialogs, action sheets, and toast messages.

Behaviour for Mob application entry point.

Microphone recording and audio playback.

Background execution keep-alive via a silent audio session.

Biometric authentication (Face ID / Touch ID / fingerprint).

Native camera capture for photos and videos.

Drawing-op constructors for Mob.UI.canvas/1.

System clipboard access. No permission required.

Behaviour for native view components.

Hostname → IP resolution that works around BEAM's broken DNS path on iOS.

Cross-platform device events and queries.

Android-specific device events. Symmetrical with Mob.Device.IOS.

iOS-specific device events. Subscribers receive events that either have no Android counterpart (e.g. :protected_data_did_become_available) or carry extra iOS fidelity beyond what Mob.Device exposes cross-platform.

Runtime diagnostics that run inside a Mob app's BEAM. Designed to be invoked via Erlang RPC from a developer's machine to inspect the actual state of a deployed app.

Platform-aware Erlang distribution startup.

The unified event emission API for Mob.

Canonical address for an event in the Mob view tree.

Translates legacy event shapes ({:tap, tag}, {:change, tag, value}, {:tap, {:list, id, :select, index}}) into the canonical {:mob_event, %Address{}, event, payload} envelope.

Behaviour for stateful event-owning components.

Resolves a target: spec to a concrete delivery pid.

Throttle / debounce config for high-frequency event subscriptions.

Live tracing of Mob events for IEx debugging.

System file picker. Opens the OS document picker (Files app on iOS, SAF on Android).

mix format plugin for the ~MOB sigil.

Haptic feedback. No permission required on either platform.

Data-driven list component.

Bridge between Phoenix LiveView and the Mob native WebView.

Device location (GPS / network).

Accelerometer and gyroscope sensor data.

OTP logger handler that routes Elixir Logger output to the platform's native system log.

ETS-backed registry mapping screen name atoms to their modules.

Local and push notifications.

Request OS-level permissions from the user.

Photo / video library picker.

Maps component names (atoms) to their platform-specific NIF constructors.

Serializes a component tree to JSON and passes it to the platform NIF in a single call. Compose (Android) and SwiftUI (iOS) handle diffing and rendering internally.

QR code and barcode scanner.

The behaviour and process wrapper for a Mob screen.

Persistent store for screen assigns.

System share sheet. Opens the OS share dialog with a piece of content. Fire-and-forget — no response arrives in the BEAM.

The ~MOB sigil for declarative native UI.

The socket struct passed through all Mob.Screen and Mob.Component callbacks.

Persistent key-value store for app state.

App-local file storage.

Android-specific storage locations and MediaStore integration.

iOS-specific storage locations and media library integration.

Thin wrapper around a props map for named, reusable styles.

Remote inspection and interaction helpers for connected Mob apps.

Design token system for Mob apps.

Theme that follows the OS-level light / dark setting.

GenServer that re-resolves the active theme when the OS appearance flips.

Birch theme for Mob — warm parchment surfaces with a chestnut-brown accent.

Citrus theme for Mob — warm charcoal with a lime-green accent.

High-contrast greyscale dark theme.

High-contrast greyscale light theme.

Obsidian theme for Mob — deep blacks with a violet accent.

UI component constructors for the Mob framework.

Raw USB host access via vendor bulk endpoints. Android only.

Bidirectional JS bridge for the native WebView component.

Mix Tasks

Format .erl files (or check formatting with --check).

Runs the Mob onboarding integration tests, which verify that a new user can go from zero to a running app without hitting any friction that should have been caught automatically.