MobileIntermediatev0.75Updated 2026-07

React Native

Build mobile apps with React and native platform APIs

MobileiOSAndroidReactExpoCross-Platform

Overview

  • 1React Native 0.75 (Aug 2024) makes the New Architecture the default — enabled by default in new projects.
  • 2New Architecture: Fabric (renderer) + TurboModules (native modules) + JSI (JavaScript Interface).
  • 3Bridgeless mode removes the legacy async bridge entirely — synchronous native calls via JSI.
  • 4React 18 concurrent features (Suspense, transitions) work natively in React Native 0.75.
  • 5Expo SDK 51/52 integrates seamlessly — most teams use Expo as the default toolchain.

Key Features in 0.75

New Architecture stable — Fabric renderer and TurboModules enabled by default
Bridgeless mode — synchronous JSI calls replace async JSON-serialised bridge
React 18 concurrent features — useTransition, useDeferredValue, Suspense work in RN
Static Hermes (TypeScript compiler) — TypeScript compiled at build time, not runtime
Metro bundler improvements — faster builds, symlinks, monorepo support
Expo Router 3 — file-system routing for React Native with universal links
Expo EAS Build + Submit — cloud builds and App Store/Play Store submission

Use Cases

  • Cross-platform mobile apps sharing logic with a React web app
  • Internal enterprise mobile tools with rapid iteration
  • Consumer mobile apps on iOS and Android from one codebase
  • React web developers building their first mobile app

New Architecture in 0.75

  • Fabric: C++ renderer renders the UI tree synchronously — no async bridge round-trips
  • TurboModules: lazy-loaded native modules with TypeScript type safety via Codegen
  • JSI (JavaScript Interface): direct synchronous bindings between JS engine and native C++
  • Bridgeless mode: `bridgeless: true` in react-native.config.js — legacy bridge removed
  • Concurrent React: Suspense boundaries and concurrent rendering work on both iOS and Android
  • Static Hermes: TypeScript-to-Hermes bytecode compilation happens at build time

Core Components & APIs

  • View, Text, Image, ScrollView, FlatList, SectionList — fundamental layout primitives
  • StyleSheet.create(): typed styles with Flexbox layout (default display model is flex)
  • Pressable: unified touch handler with pressed/hovered/focused state callbacks
  • Modal, ActivityIndicator, Alert, ActionSheetIOS, ToastAndroid
  • Platform.OS: "ios" | "android" — branch per platform; Platform.select() for objects
  • Linking API: open URLs, phone numbers, and deep links; handle incoming deep links
  • Animated API (legacy) vs Reanimated 3 (recommended) for smooth 60/120fps animations

Navigation & State

  • React Navigation 7: Stack, Tab, Drawer navigators; type-safe params with TypeScript
  • Expo Router 3: file-based routing with (tabs), (drawer), and +not-found conventions
  • Zustand: lightweight state management — same API as web; persist with AsyncStorage
  • TanStack Query: server state, caching, offline support, and background sync
  • MMKV: fast synchronous key-value storage (replaces AsyncStorage for performance)
  • Expo SecureStore: encrypted key-value storage for tokens and sensitive data

Expo SDK & Tooling

  • Expo Go: instant preview on device without native build; limited to Expo SDK APIs
  • Development Build: custom native binary with your own native modules + Expo Go UX
  • EAS Build: cloud compilation for iOS (.ipa) and Android (.apk/.aab) — no Mac required for iOS
  • EAS Update (OTA): push JS-only updates to production apps without App Store review
  • expo-router: file-based routing, universal links, and web/native code sharing
  • Bare workflow: full Xcode/Android Studio control with Expo packages available

Frequently Asked Questions

What is the New Architecture in React Native?

The New Architecture replaces the legacy async bridge with three components: JSI (JavaScript Interface) for synchronous native calls, Fabric (C++ renderer) for synchronous UI updates, and TurboModules for lazy-loaded, type-safe native module access. It removes serialisation overhead, enables concurrent React features, and makes native interactions synchronous.

Should I use Expo or bare React Native in 2026?

Use Expo for almost everything. Expo SDK 51+ supports nearly every native API via expo-* packages. EAS Build handles cloud compilation for both platforms. Bare React Native is only necessary when you need a very specific native module not supported by Expo, or when integrating React Native into a large existing native app.

React Native vs Flutter — which to choose?

React Native shares code between React web and mobile — ideal if your team knows React. Flutter uses Dart and renders with its own engine — delivers pixel-perfect cross-platform UI with excellent performance. React Native has a larger ecosystem and is better for teams sharing logic with a web app. Flutter is better for pixel-precise design and performance-critical UI.