--- name: expo-ui description: Native UI with @expo/ui — SwiftUI on iOS, Jetpack Compose on Android, DOM on web — components, modifiers, and interop with React Native views. Use when building or reviewing screens that use @expo/ui. user-invocable: false --- # Expo UI Reference ## Versioning Ground Rules - `@expo/ui` is **stable as of Expo SDK 56**. It ships in the default `create-expo-app` template and works in Expo Go (SDK 56+). - The APIs went through breaking changes across SDK 53–55 (alpha/beta; Jetpack Compose support only landed in 55). **Examples targeting SDK ≤55 are unreliable** — pin all guidance, searches, and doc lookups to SDK 56+. ## The Host Rule Every universal `@expo/ui` subtree must be rooted in a `Host`. `Host` is the bridge component: it takes React Native styles (flex, position, dimensions); everything inside it is native SwiftUI/Compose layout. ```tsx import { Host, Column, Text, Button } from '@expo/ui'; export default function Example() { return ( Hello, world!