# dala v0.0.1 - Table of Contents Fork from Mob framework, a mobile framework for Elixir ## Pages - [Dala](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) - [Data & Persistence](data.md) - [Testing](testing.md) - [Publishing to App Store / TestFlight](publishing.md) - [Troubleshooting](troubleshooting.md) - [Agentic Coding](agentic_coding.md) - [Security Guide](security.md) ## Modules - [Dala.Alert](Dala.Alert.md): Native alert dialogs, action sheets, and toast messages. - [Dala.Background](Dala.Background.md): Background execution keep-alive via a silent audio session. - [Dala.Blob](Dala.Blob.md): Binary data handling via blob references. - [Dala.Component](Dala.Component.md): Behaviour for native view components. - [Dala.Device](Dala.Device.md): Cross-platform device events and queries. - [Dala.Device.Android](Dala.Device.Android.md): Android-specific device events. Symmetrical with `Dala.Device.IOS`. - [Dala.Device.IOS](Dala.Device.IOS.md): 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 `Dala.Device` exposes cross-platform. - [Dala.Diag](Dala.Diag.md): Runtime diagnostics that run inside a Dala app's BEAM. Designed to be invoked via Erlang RPC from a developer's machine to inspect the actual state of a deployed app. - [Dala.Event](Dala.Event.md): The unified event emission API for Dala. - [Dala.Event.Address](Dala.Event.Address.md): Canonical address for an event in the Dala view tree. - [Dala.Event.Bridge](Dala.Event.Bridge.md): Translates legacy event shapes (`{:tap, tag}`, `{:change, tag, value}`, `{:tap, {:list, id, :select, index}}`) into the canonical `{:dala_event, %Address{}, event, payload}` envelope. - [Dala.Event.Component](Dala.Event.Component.md): Behaviour for **stateful** event-owning components. - [Dala.Event.Target](Dala.Event.Target.md): Resolves a `target:` spec to a concrete delivery pid. - [Dala.Event.Throttle](Dala.Event.Throttle.md): Throttle / debounce config for high-frequency event subscriptions. - [Dala.Event.Trace](Dala.Event.Trace.md): Live tracing of Dala events for IEx debugging. - [Dala.Linking](Dala.Linking.md): Linking API for opening URLs and handling deep links. - [Dala.LiveView](Dala.LiveView.md): Bridge between Phoenix LiveView and the Dala native WebView. - [Dala.ML.ConfigHelper](Dala.ML.ConfigHelper.md): Helper to configure EMLX dependencies and settings for Dala iOS apps. - [Dala.ML.EMLX](Dala.ML.EMLX.md): iOS integration layer for EMLX (MLX backend for Nx). - [Dala.ML.Example](Dala.ML.Example.md): Simple example of using EMLX in a Dala iOS app. - [Dala.ML.Nx](Dala.ML.Nx.md): Nx integration helpers for Dala on iOS. - [Dala.Registry](Dala.Registry.md): Maps component names (atoms) to their platform-specific NIF constructors. - [Dala.Settings](Dala.Settings.md): Persistent app settings (UserDefaults on iOS, SharedPreferences on Android). - [Dala.Storage](Dala.Storage.md): App-local file storage. - [Dala.Storage.Android](Dala.Storage.Android.md): Android-specific storage locations and MediaStore integration. - [Dala.Storage.Apple](Dala.Storage.Apple.md): iOS-specific storage locations and media library integration. - [Dala.Theme.Adaptive](Dala.Theme.Adaptive.md): Theme that follows the OS-level light / dark setting. - [Dala.Theme.AdaptiveWatcher](Dala.Theme.AdaptiveWatcher.md): GenServer that re-resolves the active theme when the OS appearance flips. - [Dala.Theme.Dark](Dala.Theme.Dark.md): High-contrast greyscale dark theme. - [Dala.Theme.Light](Dala.Theme.Light.md): High-contrast greyscale light theme. - [Dala.WebView](Dala.WebView.md): Bidirectional JS bridge for the native WebView component. - Core - [Dala](Dala.md): Dala — BEAM-on-device dalaile framework for Elixir. - [Dala.App](Dala.App.md): Behaviour for Dala application entry point. - [Dala.Screen](Dala.Screen.md): The behaviour and process wrapper for a Dala screen. - [Dala.Socket](Dala.Socket.md): The socket struct passed through all Dala.Screen and Dala.Component callbacks. - [Dala.State](Dala.State.md): Persistent key-value store for app state. - UI - [Dala.Renderer](Dala.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. - [Dala.Style](Dala.Style.md): Thin wrapper around a props map for named, reusable styles. - [Dala.Theme](Dala.Theme.md): Design token system for Dala apps. - [Dala.Theme.Birch](Dala.Theme.Birch.md): Birch theme for Dala — warm parchment surfaces with a chestnut-brown accent. - [Dala.Theme.Citrus](Dala.Theme.Citrus.md): Citrus theme for Dala — warm charcoal with a lime-green accent. - [Dala.Theme.Obsidian](Dala.Theme.Obsidian.md): Obsidian theme for Dala — deep blacks with a violet accent. - [Dala.UI](Dala.UI.md): UI component constructors for the Dala framework. - Navigation - [Dala.Nav.Registry](Dala.Nav.Registry.md): ETS-backed registry mapping screen name atoms to their modules. - Device APIs - [Dala.Audio](Dala.Audio.md): Microphone recording and audio playback. - [Dala.Biometric](Dala.Biometric.md): Biometric authentication (Face ID / Touch ID / fingerprint). - [Dala.Camera](Dala.Camera.md): Native camera capture for photos and videos. - [Dala.Clipboard](Dala.Clipboard.md): System clipboard access. No permission required. - [Dala.Files](Dala.Files.md): System file picker. Opens the OS document picker (Files app on iOS, SAF on Android). - [Dala.Haptic](Dala.Haptic.md): Haptic feedback. No permission required on either platform. - [Dala.Location](Dala.Location.md): Device location (GPS / network). - [Dala.Motion](Dala.Motion.md): Accelerometer and gyroscope sensor data. - [Dala.Notify](Dala.Notify.md): Local and push notifications. - [Dala.Permissions](Dala.Permissions.md): Request OS-level permissions from the user. - [Dala.Photos](Dala.Photos.md): Photo / video library picker. - [Dala.Scanner](Dala.Scanner.md): QR code and barcode scanner. - [Dala.Share](Dala.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 - [Dala.Test](Dala.Test.md): Remote inspection and interaction helpers for connected Dala apps. - Internals - [Dala.Dist](Dala.Dist.md): Platform-aware Erlang distribution startup. - [Dala.List](Dala.List.md): Data-driven list component. - [Dala.NativeLogger](Dala.NativeLogger.md): OTP logger handler that routes Elixir Logger output to the platform's native system log. - [Dala.Sigil](Dala.Sigil.md): The `~dala` sigil for declarative native UI. ## Mix Tasks - [mix dala.onboarding_test](Mix.Tasks.Dala.OnboardingTest.md): Runs the Dala 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.