# dala v0.8.1 - Table of Contents > Dala is a native mobile framework for Elixir powered by the BEAM VM. Build iOS and Android apps with OTP, lightweight processes, fault tolerance, AI/ML. ## Pages - [Dala](readme.md) - [UI Design](ui_design.md) - [UI Render Pipeline](ui_render_pipeline.md) - [Event Model](event_model.md) - [Event Audit](event_audit.md) - [iOS ML Support](ios_ml_support.md) - [iOS Physical Device](ios_physical_device.md) - [Rustler in Mobile](rustler_complete.md) - [EMLX iOS Summary](emlx_ios_summary.md) - [Plugin](plugin_architecture.md) - Getting Started - [Getting Started](getting_started.md) - [Architecture & Prior Art](architecture.md) - [Build & BEAM Loading](build_and_beam_loading.md) - UI & Components - [Screen Lifecycle](screen_lifecycle.md) - [Components](components.md) - [Styling & Native Rendering](styling.md) - [Theming](theming.md) - [Navigation](navigation.md) - [Screen Manager](screen_manager_pubsub.md) - [Render Engine](render_engine.md) - [Binary Protocol](binary_protocol.md) - [Spark DSL](spark_dsl.md) - Events & Interaction - [Events](events.md) - Data & Device APIs - [Device Capabilities](device_capabilities.md) - [Data & Persistence](data.md) - Media & GPU - [Media Runtime](media_runtime.md) - [GPU Render Pipeline](gpu_render_pipeline.md) - [GPU Compute](gpu_compute.md) - Testing & Development - [Testing](testing.md) - [Agentic Coding](agentic_coding.md) - iOS & Rust - [ExBurn (Burn) Integration](ex_burn.md) - Advanced Topics - [LiveView Integration](liveview.md) - [Publishing to App Store / TestFlight](publishing.md) - [Troubleshooting](troubleshooting.md) - [Security Guide](security.md) ## Modules - [Dala.App.App](Dala.App.App.md): Behaviour for Dala application entry point. - [Dala.Component](Dala.Component.md): Public API for native view components. - [Dala.ComponentRegistry](Dala.ComponentRegistry.md): Public API for component registry operations. - [Dala.ComponentServer](Dala.ComponentServer.md): Public API for component server operations. - [Dala.Connectivity.Dist](Dala.Connectivity.Dist.md): Platform-aware Erlang distribution startup. - [Dala.Connectivity.Wifi](Dala.Connectivity.Wifi.md): WiFi network information and configuration. - [Dala.Designer](Dala.Designer.md): Interactive HTML preview and design tool for Dala UI components. - [Dala.Designer.Canvas](Dala.Designer.Canvas.md): Interactive drag-and-drop UI design canvas for Dala. - [Dala.Designer.Codegen](Dala.Designer.Codegen.md): Generates Elixir screen module source code from Dala UI trees. - [Dala.Designer.Example](Dala.Designer.Example.md): Example UI trees for Dala Designer demonstration. - [Dala.Designer.Live](Dala.Designer.Live.md): Standalone Phoenix LiveView server for Dala Designer. - [Dala.Designer.Live.Layout](Dala.Designer.Live.Layout.md): Root layout for Dala Designer LiveView. - [Dala.Device.Android](Dala.Device.Android.md): Android-specific device events. Symmetrical with `Dala.Device.Ios`. - [Dala.Device.Device](Dala.Device.Device.md): Cross-platform device events and queries. - [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.Diff](Dala.Diff.md): Diff engine for incremental UI updates. - [Dala.Event](Dala.Event.md): Convenience module that re-exports the unified event emission API. - [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.Event](Dala.Event.Event.md): The unified event emission API for Dala. - [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.Gpu](Dala.Gpu.md): GPU texture rendering surface. - [Dala.Gpu.Command](Dala.Gpu.Command.md): Encodes render commands to binary format for the Rust command queue. - [Dala.Gpu.Surface](Dala.Gpu.Surface.md): GenServer that holds the state for a GPU surface. - [Dala.Hardware.Biometric](Dala.Hardware.Biometric.md): Biometric authentication (Face ID / Touch ID / fingerprint). - [Dala.Hardware.Bluetooth](Dala.Hardware.Bluetooth.md): Bluetooth Low Energy (BLE) support. - [Dala.Hardware.Haptic](Dala.Hardware.Haptic.md): Haptic feedback. No permission required on either platform. - [Dala.Hardware.NFC](Dala.Hardware.NFC.md): NFC (Near Field Communication) tag reading. - [Dala.Hardware.Scanner](Dala.Hardware.Scanner.md): QR code and barcode scanner. - [Dala.ML.ConfigHelper](Dala.ML.ConfigHelper.md): Helper to configure ML dependencies and settings for Dala apps. - [Dala.ML.CoreML](Dala.ML.CoreML.md): CoreML integration for iOS. - [Dala.ML.Debug](Dala.ML.Debug.md): ML debugging and profiling tools for Dala apps. - [Dala.ML.EMLX](Dala.ML.EMLX.md): EMLX (Apple Silicon GPU) integration for Dala. - [Dala.ML.Example](Dala.ML.Example.md): Examples of using ML in a Dala app. - [Dala.ML.Model](Dala.ML.Model.md): Model management for Dala ML. - [Dala.ML.ONNX](Dala.ML.ONNX.md): Public API for ONNX Runtime inference. - [Dala.ML.Preprocess](Dala.ML.Preprocess.md): Preprocessing pipelines for ML model inputs. - [Dala.ML.Training](Dala.ML.Training.md): On-device training support for Dala ML. - [Dala.Media.Adaptive](Dala.Media.Adaptive.md): Adaptive bitrate streaming and jitter buffer. - [Dala.Media.Animation](Dala.Media.Animation.md): Frame-clock driven animation system. - [Dala.Media.Audio](Dala.Media.Audio.md): Microphone recording and audio playback. - [Dala.Media.Camera](Dala.Media.Camera.md): Native camera capture for photos and videos. - [Dala.Media.Clock](Dala.Media.Clock.md): Realtime frame-clock for AV sync and animation. - [Dala.Media.Filter](Dala.Media.Filter.md): GPU compute filters for realtime video processing. - [Dala.Media.Photos](Dala.Media.Photos.md): Photo / video library picker. - [Dala.Media.Pipeline](Dala.Media.Pipeline.md): High-level media pipeline orchestrator. - [Dala.Media.Scene](Dala.Media.Scene.md): Realtime scene graph compositor. - [Dala.Media.Stream](Dala.Media.Stream.md): Stream process supervisor. - [Dala.Media.Subtitle](Dala.Media.Subtitle.md): Timestamp-synchronized subtitle rendering. - [Dala.Media.Texture](Dala.Media.Texture.md): GPU texture pool to avoid constant allocation/deallocation. - [Dala.Media.Video](Dala.Media.Video.md): Hardware-accelerated video streaming surface. - [Dala.Ml.Nx](Dala.Ml.Nx.md): Nx integration helpers for Dala. - [Dala.Native](Dala.Native.md): Platform-native NIF functions. - [Dala.Platform.Background](Dala.Platform.Background.md): Background execution keep-alive via a silent audio session. - [Dala.Platform.Clipboard](Dala.Platform.Clipboard.md): System clipboard access. No permission required. - [Dala.Platform.Diag](Dala.Platform.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.Platform.Linking](Dala.Platform.Linking.md): Linking API for opening URLs and handling deep links. - [Dala.Platform.LiveView](Dala.Platform.LiveView.md): Bridge between Phoenix LiveView and the Dala native WebView. - [Dala.Platform.Location](Dala.Platform.Location.md): Device location (GPS / network). - [Dala.Platform.NativeLogger](Dala.Platform.NativeLogger.md): OTP logger handler that routes Elixir Logger output to the platform's native system log. - [Dala.Platform.Notify](Dala.Platform.Notify.md): Local and push notifications. - [Dala.Platform.Permissions](Dala.Platform.Permissions.md): Request OS-level permissions from the user. - [Dala.Platform.PubSub](Dala.Platform.PubSub.md): Simplified PubSub for Dala apps using Elixir's built-in Registry. - [Dala.Platform.Registry](Dala.Platform.Registry.md): Maps component names (atoms) to their platform-specific NIF constructors. - [Dala.Platform.Settings](Dala.Platform.Settings.md): Persistent app settings (UserDefaults on iOS, SharedPreferences on Android). - [Dala.Platform.Share](Dala.Platform.Share.md): System share sheet. Opens the OS share dialog with a piece of content. Fire-and-forget — no response arrives in the BEAM. - [Dala.Platform.State](Dala.Platform.State.md): Persistent key-value store for app state. - [Dala.Plugin.Event](Dala.Plugin.Event.md): Typed event definitions for Dala plugins. - [Dala.PubSub](Dala.PubSub.md): Convenience module that re-exports the PubSub API. - [Dala.Screen.Manager](Dala.Screen.Manager.md): Central registry for tracking all active screens in the application. - [Dala.Screen.Screen](Dala.Screen.Screen.md): Screen behaviour and Spark DSL entry point. - [Dala.Setup](Dala.Setup.md): Convenience shorthand for `Dala.Setup.Setup`. - [Dala.Setup.Android](Dala.Setup.Android.md): Android Bluetooth/WiFi setup automation for Dala. - [Dala.Setup.Ios](Dala.Setup.Ios.md): iOS Bluetooth/WiFi setup automation for Dala. - [Dala.Setup.Setup](Dala.Setup.Setup.md): Runtime setup helpers for Bluetooth and WiFi functionality. - [Dala.Spark.Dsl](Dala.Spark.Dsl.md): Spark DSL for declarative Dala screens. - [Dala.Spark.Dsl.Entities](Dala.Spark.Dsl.Entities.md): Generates entity structs and Spark entity definitions from the Component registry. - [Dala.Spark.Dsl.Verifier](Dala.Spark.Dsl.Verifier.md): Compile-time validation for Dala Spark DSL. - [Dala.Spark.DslCompileHook](Dala.Spark.DslCompileHook.md): Compile-time hook that verifies DSL definitions when screen modules are compiled. - [Dala.Spark.DslVerifier](Dala.Spark.DslVerifier.md): Comprehensive DSL verification for Dala screen modules. - [Dala.Spark.Pubsub](Dala.Spark.Pubsub.md): Spark DSL extension for declarative PubSub subscriptions in Dala screens. - [Dala.Spark.Transformers.GenerateMount](Dala.Spark.Transformers.GenerateMount.md): Spark transformer that generates the `mount/3` function from DSL attributes. - [Dala.Spark.Transformers.Pubsub](Dala.Spark.Transformers.Pubsub.md): Spark transformer that handles PubSub subscriptions from DSL. - [Dala.Spark.Transformers.Render](Dala.Spark.Transformers.Render.md): Spark transformer that generates the `render/1` function from DSL entities. - [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.Storage.Blob](Dala.Storage.Blob.md): Binary data handling via blob references. - [Dala.Storage.Files](Dala.Storage.Files.md): System file picker. Opens the OS document picker (Files app on iOS, SAF on Android). - [Dala.Storage.Storage](Dala.Storage.Storage.md): App-local file storage. - [Dala.Theme.Adaptive](Dala.Theme.Adaptive.md): Theme that follows the OS-level light / dark setting. - [Dala.Theme.Adaptive.Custom](Dala.Theme.Adaptive.Custom.md): Adaptive theme that switches between a custom dark/light pair. - [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.Theme.Theme](Dala.Theme.Theme.md): Design token system for Dala apps. - [Dala.Ui.Component](Dala.Ui.Component.md): Central registry of all Dala UI components. - [Dala.Ui.GpuCanvas](Dala.Ui.GpuCanvas.md): A GPU-accelerated canvas component for Dala UI trees. - [Dala.Ui.Scan](Dala.Ui.Scan.md): Parsers for common NFC tag payloads and QR/barcode content. - [Dala.Wakelock](Dala.Wakelock.md): Screen wakelock — keep the device screen on. - [DalaPreview.Server.Design](DalaPreview.Server.Design.md): Design state management - [DalaPreview.Server.DesignLive](DalaPreview.Server.DesignLive.md) - Core - [Dala](Dala.md): Dala — BEAM-on-device dalaile framework for Elixir. - [Dala.App](Dala.App.md): Public API for Dala application functionality. - [Dala.Screen](Dala.Screen.md): Behaviour and macros for Dala screens. - [Dala.Socket](Dala.Socket.md): The socket struct passed through all Dala.Screen and Dala.Ui.NativeView callbacks. - UI - [Dala.Node](Dala.Node.md): Structured representation of a UI node in the Dala framework. - [Dala.Renderer](Dala.Renderer.md): Serializes a component tree to a binary command stream and passes it to the platform NIF in a single call. Compose (Android) and SwiftUI (iOS) handle diffing and rendering internally. - [Dala.Theme](Dala.Theme.md): Convenience shorthand for `Dala.Theme.Theme`. - [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.Diff](Dala.Ui.Diff.md): Diff engine for incremental UI updates. - [Dala.Ui.Embedded.Webview](Dala.Ui.Embedded.Webview.md): Bidirectional JS bridge for the native WebView component. - [Dala.Ui.Feedback.Alert](Dala.Ui.Feedback.Alert.md): Native alert dialogs, action sheets, and toast messages. - [Dala.Ui.List](Dala.Ui.List.md): Data-driven list component. - [Dala.Ui.NativeView](Dala.Ui.NativeView.md): Behaviour for native view components. - [Dala.Ui.Renderer](Dala.Ui.Renderer.md): Serializes a component tree to a binary command stream and passes it to the platform NIF in a single call. Compose (Android) and SwiftUI (iOS) handle diffing and rendering internally. - [Dala.Ui.Sensor.Motion](Dala.Ui.Sensor.Motion.md): Accelerometer and gyroscope sensor data. - [Dala.Ui.Socket](Dala.Ui.Socket.md): Backward-compatible type alias for `Dala.Socket`. - [Dala.Ui.Style](Dala.Ui.Style.md): Thin wrapper around a props map for named, reusable styles. - [Dala.Ui.Widgets](Dala.Ui.Widgets.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.Permissions](Dala.Permissions.md): Permission management for Dala plugins. - Testing & Debugging - [Dala.Test](Dala.Test.md): Remote inspection and interaction helpers for connected Dala apps. - Plugins - [Dala.Plugin](Dala.Plugin.md): Behaviour and macros for self-describing component plugins. - [Dala.Plugin.Component](Dala.Plugin.Component.md): Represents a single component schema within a plugin. - [Dala.Plugin.ComponentDSL](Dala.Plugin.ComponentDSL.md): Evaluates the component definition DSL. - [Dala.Plugin.Lifecycle](Dala.Plugin.Lifecycle.md): Lifecycle management for Dala plugins. - [Dala.Plugin.Manifest](Dala.Plugin.Manifest.md): Generates native plugin manifests for iOS and Android platforms. - [Dala.Plugin.Protocol](Dala.Plugin.Protocol.md): Generates binary protocol specifications from plugin schemas. - [Dala.Plugin.Registry](Dala.Plugin.Registry.md): Registry for plugin management and lookup. - GPU Compute - [Dala.Gpu.Compute](Dala.Gpu.Compute.md): High-level GPU compute orchestration for Dala. - [Dala.Gpu.Compute.Buffer](Dala.Gpu.Compute.Buffer.md): Typed wrapper around EXCubeCL GPU buffers. - [Dala.Gpu.Compute.Kernel](Dala.Gpu.Compute.Kernel.md): Kernel execution and registry for GPU compute. - [Dala.Gpu.Compute.Pipeline](Dala.Gpu.Compute.Pipeline.md): Multi-stage GPU compute pipeline orchestration. - [Dala.ML.Gpu.Inference](Dala.ML.Gpu.Inference.md): GPU-accelerated ML inference via EXCubeCL. - [Dala.Media.Gpu.Processor](Dala.Media.Gpu.Processor.md): GPU-accelerated media processing via EXCubeCL. - ML & Burn - [Dala.ML](Dala.ML.md): Unified ML API for Dala apps on iOS and Android. - [Dala.ML.Burn](Dala.ML.Burn.md): Dala integration for the [Burn](https://burn.dev) deep learning framework. - [Dala.ML.Burn.Serving](Dala.ML.Burn.Serving.md): Nx.Serving integration for ExBurn models in Dala. - [Dala.ML.Burn.Training](Dala.ML.Burn.Training.md): Training callbacks and utilities for ExBurn models in Dala. - Internals - [Dala.Dist](Dala.Dist.md): Convenience shorthand for `Dala.Connectivity.Dist`. - [Dala.List](Dala.List.md): Public API for list operations. ## Mix Tasks - [mix dala.bt_setup](Mix.Tasks.Dala.BtSetup.md): Alias for `mix dala.setup_bluetooth_wifi` - [mix dala.designer](Mix.Tasks.Dala.Designer.md): Design and preview Dala UI in a browser without a simulator/emulator. - [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. - [mix dala.plugin.new](Mix.Tasks.Dala.Plugin.New.md): Generates a new Dala plugin scaffold. Usage: mix dala.plugin.new dala_camera - [mix dala.setup_bluetooth_wifi](Mix.Tasks.Dala.SetupBluetoothWifi.md): One-command setup for Bluetooth and WiFi functionality in Dala apps. - [mix dala.setup_ios_bluetooth](Mix.Tasks.Dala.SetupIosBluetooth.md): Automated setup for iOS Bluetooth and WiFi functionality in Dala. - [mix dala.verify](Mix.Tasks.Dala.Verify.md): Verifies Dala DSL definitions in the current project and reports any issues.