Skip to content
React NativeBeta

Running on devices

Try the native components on a real iPhone or Android phone with Expo Go, from Windows, macOS or Linux, and test them with Maestro.

Beta. React Native support is in beta. APIs may change or break between prereleases (npm tag native).

On this page

The previews on these pages run the real components in your browser through react-native-web. Shadows, fonts, the keyboard and the feel of a sheet differ on a phone, so try them on one.

Download the demo app (Android)

Download GramproKit Demo (APK): a sample business app built only from Kit, with a dashboard, an invoice form, every component, and a live theme editor that exports a gbs.theme.ts.

  • Android 7.0 or later, 64-bit (arm64). About 21 MB.
  • Android asks you to allow installs from your browser the first time.
  • It is debug-signed, for trying Kit, not for production. Older builds are on GitHub Releases.

There is no iPhone build; on iOS, run the playground app below in Expo Go.

The playground app

The repository has native-playground/, an Expo app that renders every demo on these pages from Kit's source:

bash
cd native-playground
npm install
npx expo start

Scan the QR code with Expo Go (Android or iOS). Because Kit has no native modules, no build is needed, and that includes iPhones from a Windows machine.

Android over USB

With USB debugging on, the phone can reach the dev server over the cable, without sharing Wi-Fi:

bash
adb reverse tcp:8081 tcp:8081
npx expo start --localhost

Then press a, or open exp://127.0.0.1:8081 in Expo Go.

Automated tests

For your own app, React Native Testing Library covers the components, and Maestro covers flows on a device. Maestro runs natively on Windows (no WSL or Docker) against an emulator or a phone plugged in over USB. iOS flows need the iOS simulator, which CI can provide on macOS runners.