stacks / react native expo

React Native + Expo

One TypeScript codebase for iOS and Android when the app is mostly screens, lists, and forms.

Circumstances — when to use it

  • You need both app stores and have one team, not two
  • The team already writes React and wants to reuse that knowledge
  • You want over-the-air updates to ship JavaScript bug fixes without waiting on store review (native code changes still need a new build)

Synergy — how the pieces fit

React Native renders real native views from React code, so the UI feels native while the logic stays in TypeScript. Expo removes the Xcode and Gradle setup: EAS builds in the cloud, config plugins handle native modules, and OTA updates push JavaScript fixes straight to users. Expo Router mirrors file-based web routing, so navigation looks like something a web dev already understands.

The tech and its role

React NativeNative UI from React
Expo SDKDevice APIs: camera, notifications, location
Expo RouterFile-based navigation
EAS Build / SubmitCloud builds and store delivery
TypeScriptShared types across platforms

Architectural examples

Each example links to a public source — no claims about private internals.

Discord

Built its iOS app on React Native with roughly 90% code shared with its React web code, and has written about the native work needed for chat performance. (React Native example; not a claim about Expo.)

source

Shopify

Declared React Native the future of its mobile apps and later migrated Shopify Mobile, its largest app. (React Native example.)

source · 2020

Coinbase

Moved its iOS and Android apps to a single React Native codebase, opening mobile work to its web engineers. (React Native example.)

source · 2021

Skip if

Skip if the product depends on heavy custom rendering, sustained background processing, or bleeding-edge OS features on day one.

Other playbooks

WWADD — Moves. Stacks. Judgment calls.

FREE REFERENCE · NO LOGIN · NO TRACKING