ReadyNative

UI

UI for an Expo app, compared: NativeWind 4, NativeWind 5, Tamagui, Unistyles 3, StyleSheet (plain RN) - Expo Go support and what each option installs.

Hey - here's how UI works in ReadyNative. This category picks the styling engine behind your screens: the primitives (Screen, Box, Text, Button, Input, Card, Switch, Toast and friends), the theme provider and the dark-mode plumbing.

The contract is what makes the choice cheap. Every option implements the same token-typed props (with style as the only escape hatch), so the screens are identical on all five. After bun run setup the kit lives in src/components/ui and screens import @/components/ui; before setup, or with --keep-modules, it's src/ui behind @/ui, and switching is bun run setup --ui <option> --keep-modules. Colours live in src/theme/tokens.ts, and bun run gen:theme regenerates whatever the stack needs. Styling shows the day-to-day pattern; the option pages below cover setup and gotchas per stack.

  • nativewind4 - the default. Stable NativeWind 4.2 on Tailwind 3 with React Native Reusables, biggest component ecosystem, Expo Go OK.
  • nativewind5 - RC · Tailwind 4. NativeWind 5 is still a release candidate; pick it if you want Tailwind 4 today.
  • stylesheet - no framework at all, plain StyleSheet.create from the tokens. Zero extra dependencies and the clearest read of the contract.
  • tamagui - a typed styling API with variants and a compiler, still JS-only.
  • unistyles - a C++/Nitro engine that re-themes without React re-renders. The fastest, and the only option that needs a dev build.

Options

One option per category - --ui <option> picks it:

bun run setup --ui nativewind4
OptionLabelExpo GoHint
nativewind4NativeWind 4 (default)yesStable · Tailwind 3 classes + RNR components behind @/ui · Expo Go OK
nativewind5NativeWind 5yesRC · Tailwind 4 classes behind @/ui · Expo Go OK
tamaguiTamaguiyesTamagui 2 (v5 config, optimising compiler) behind @/ui · Expo Go OK
unistylesUnistyles 3no - dev build requiredC++ StyleSheet with themes/breakpoints behind @/ui · dev build required (no Expo Go)
stylesheetStyleSheet (plain RN)yesno style engine, tokens + StyleSheet.create · Expo Go OK

On this page

Get ReadyNative