# mob v0.3.5 - Table of Contents BEAM-on-device mobile framework for Elixir ## Pages - [Mob](readme.md) - Guides - [Why the BEAM?](why_beam.md) - [Getting Started](getting_started.md) - [Architecture & Prior Art](architecture.md) - [Screen Lifecycle](screen_lifecycle.md) - [Components](components.md) - [Styling & Native Rendering](styling.md) - [Theming](theming.md) - [Navigation](navigation.md) - [Device Capabilities](device_capabilities.md) - [Testing](testing.md) - [Troubleshooting](troubleshooting.md) ## Modules - [Mob.Registry](Mob.Registry.md): Maps component names (atoms) to their platform-specific NIF constructors. - Core - [Mob](Mob.md): Mob — BEAM-on-device mobile framework for Elixir. - [Mob.App](Mob.App.md): Behaviour for Mob application entry point. - [Mob.Screen](Mob.Screen.md): The behaviour and process wrapper for a Mob screen. - [Mob.Socket](Mob.Socket.md): The socket struct passed through all Mob.Screen and Mob.Component callbacks. - UI - [Mob.Renderer](Mob.Renderer.md): 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. - [Mob.Style](Mob.Style.md): Thin wrapper around a props map for named, reusable styles. - [Mob.Theme](Mob.Theme.md): Design token system for Mob apps. - [Mob.Theme.Birch](Mob.Theme.Birch.md): Birch theme for Mob — warm parchment surfaces with a chestnut-brown accent. - [Mob.Theme.Citrus](Mob.Theme.Citrus.md): Citrus theme for Mob — warm charcoal with a lime-green accent. - [Mob.Theme.Obsidian](Mob.Theme.Obsidian.md): Obsidian theme for Mob — deep blacks with a violet accent. - [Mob.UI](Mob.UI.md): UI component constructors for the Mob framework. - Navigation - [Mob.Nav.Registry](Mob.Nav.Registry.md): ETS-backed registry mapping screen name atoms to their modules. - Device APIs - [Mob.Audio](Mob.Audio.md): Microphone recording. - [Mob.Biometric](Mob.Biometric.md): Biometric authentication (Face ID / Touch ID / fingerprint). - [Mob.Camera](Mob.Camera.md): Native camera capture for photos and videos. - [Mob.Clipboard](Mob.Clipboard.md): System clipboard access. No permission required. - [Mob.Files](Mob.Files.md): System file picker. Opens the OS document picker (Files app on iOS, SAF on Android). - [Mob.Haptic](Mob.Haptic.md): Haptic feedback. No permission required on either platform. - [Mob.Location](Mob.Location.md): Device location (GPS / network). - [Mob.Motion](Mob.Motion.md): Accelerometer and gyroscope sensor data. - [Mob.Notify](Mob.Notify.md): Local and push notifications. - [Mob.Permissions](Mob.Permissions.md): Request OS-level permissions from the user. - [Mob.Photos](Mob.Photos.md): Photo / video library picker. - [Mob.Scanner](Mob.Scanner.md): QR code and barcode scanner. - [Mob.Share](Mob.Share.md): System share sheet. Opens the OS share dialog with a piece of content. Fire-and-forget — no response arrives in the BEAM. - Testing & Debugging - [Mob.Test](Mob.Test.md): Remote inspection and interaction helpers for connected Mob apps. - Internals - [Mob.Dist](Mob.Dist.md): Platform-aware Erlang distribution startup. - [Mob.List](Mob.List.md): Data-driven list component. - [Mob.NativeLogger](Mob.NativeLogger.md): OTP logger handler that routes Elixir Logger output to the platform's native system log. - [Mob.Sigil](Mob.Sigil.md): The `~MOB` sigil for declarative native UI. ## Mix Tasks - [mix mob.onboarding_test](Mix.Tasks.Mob.OnboardingTest.md): 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.