---
title: "Expo UI with SwiftUI and Jetpack Compose in practice"
description: "Exploring Expo UI with SwiftUI and Jetpack Compose, including setup challenges, architecture tradeoffs, and real-world developer insights."
url: https://www.callstack.com/events/expo-ui-meets-native-jetpack-compose-and-swiftui-in-practice
updated: 2026-10-24T08:39:19.705Z
---

# Expo UI with SwiftUI and Jetpack Compose in practice

Exploring Expo UI with SwiftUI and Jetpack Compose, including setup challenges, architecture tradeoffs, and real-world developer insights.

_Livestream · 3/26/2026, 5 PM - 7 PM [CET] · Online · Recording: 01:57:37 · Category: Expo_

Organizer: Callstack

Speakers: Kewin Wereszczyński (Software Engineer @ Callstack), Łukasz Chludziński (Engineering Manager @ Callstack), Luke Farrell (Senior Software Engineer @ Callstack)

[Watch the recording](https://www.youtube.com/watch?v=wqPasGOKL_I)

### Working with Expo UI in real projects

Expo UI introduces a new layer for building interfaces using SwiftUI on iOS and Jetpack Compose on Android. Instead of relying solely on shared React Native components, developers can now tap directly into platform-native UI systems.

In practice, this means wrapping native UI inside a host component and composing views using platform-specific primitives. SwiftUI relies on constructs like VStack and modifiers, while Jetpack Compose introduces its own layout and styling patterns. The result is a more native feel, but also a shift in how components are structured and maintained.

### Setup friction and current limitations

Getting started isn’t entirely frictionless. Running Expo UI requires a development build instead of Expo Go, along with proper prebuild steps and native configuration. Even small misconfigurations can block builds or cause linking issues.

There are also inconsistencies between platforms. Some components available in SwiftUI don’t yet have equivalents in Jetpack Compose, which creates gaps when aiming for feature parity. This becomes visible when experimenting with components like color pickers or advanced UI elements.

### Rethinking component architecture

Expo UI changes assumptions around shared components. Instead of a single implementation across platforms, developers may need to maintain separate UI logic for iOS and Android while keeping a shared interface at a higher level.

This introduces tradeoffs. On one hand, it allows deeper integration with platform design systems. On the other, it increases complexity in code organization and consistency. The approach shifts from “write once” toward selective platform specialization where it matters.

### Native capabilities vs custom implementations

Access to native components brings immediate benefits. Platform-provided UI elements are performant, well-tested, and familiar to users. They remove the need to build and maintain complex components in JavaScript.

At the same time, fully custom cross-platform components still have value. They ensure consistency and reduce duplication, especially when parity between platforms is required. Choosing between native and shared implementations becomes a strategic decision rather than a default.

### What this means for React Native development

Expo UI highlights a broader direction: closer alignment with native platforms while keeping React Native as the orchestration layer. It encourages developers to understand SwiftUI and Jetpack Compose concepts, even when working primarily in JavaScript.

This also raises the bar for platform awareness. Differences in behavior, styling, and capabilities become more explicit, pushing teams to make more deliberate decisions about UX and architecture.

Watch the full stream and explore the discussion in detail.
