React Native Getting Started: Build Your First App
Set up React Native, run on iOS and Android, and understand the bridge and native modules.
React Native lets you build mobile apps with React. Here’s how to start and what to expect.
React Native and cross-platform mobile
Setup
Environment — Node, Watchman (macOS), Xcode (iOS), Android Studio and SDK (Android). Use the official React Native environment guide.
Create app — npx @react-native-community/cli init MyApp or use Expo (see below). Run npx react-native run-ios or run-android.
Structure — JavaScript/TypeScript entry point; components use React Native primitives (View, Text, Image, ScrollView). Native code in ios/ and android/ when you need it.
Core concepts
Components — Use RN components, not HTML. View ≈ div, Text ≈ span (must wrap text). Style with StyleSheet or inline; layout is flexbox by default.
Bridge / New Architecture — JS talks to native via a bridge (or JSI in the new architecture). Native modules expose device APIs; use community or official libraries when possible.
Platform — Use Platform.OS or Platform.select() for platform-specific code. Use .ios.js / .android.js for different file per platform when needed.
Cross-platform framework preference (survey):
Cross-platform mobile framework
Expo vs bare
Expo — Managed workflow; many APIs without native code. EAS Build for cloud builds. Great for prototypes and many apps. Bare — Full access to native; use when you need custom native modules or tight control.
React Native in 100 seconds:
Takeaway
React Native is a strong choice if you know React. Start with the default template or Expo; add native modules only when necessary. Share logic and UI across iOS and Android.