React Native Passkeys with Expo (2026): WebAuthn, Associated Domains, and Credential Manager
Ship WebAuthn passkeys in React Native with Expo dev-builds, Associated Domains on iOS, Credential Manager on Android, and server-side verification.
React Native Relay is where our team writes down what actually shipped — not what was demoed at a conference. We cover the New Architecture rollout, the post-CodePush update story, native module debugging, and the gestures-and-animations stack that ties it all together. Every article is built around a real iOS and Android build, tested on devices we own, with version numbers pinned so the steps still work six months from now.
The New Architecture — Fabric, TurboModules, and the bridgeless mode — is the default in React Native 0.76 and later, and Expo SDK 52+ ships with it enabled. The migration is not a checkbox; it changes how native modules expose their interfaces, how view managers register, and how synchronous calls cross the JS/native boundary. We walk through codegen specs, interop layers for unmigrated libraries, and the practical fallback when a critical dependency hasn't shipped a Fabric component yet.
We also publish migration diaries for real apps: what broke on first launch, which Hermes flags mattered, and how startup time and TTI changed once bridgeless mode was on. If you maintain a brownfield app embedded inside an existing iOS or Android host, our integration guides cover the bits the official docs gloss over.
Microsoft retired App Center CodePush in March 2025, leaving thousands of apps looking for a new over-the-air update path. The strongest replacement is EAS Update, which works for both Expo and bare React Native projects, but the mental model is different — updates are tied to runtime versions, channels map to release tracks, and rollbacks happen by republishing a known-good bundle rather than flipping a switch.
We document the migration end-to-end: configuring expo-updates in a bare app, wiring channels to your CI, handling assets that live outside the JS bundle, and staying inside Apple's guidance on what JavaScript-only updates are allowed to change. We also benchmark self-hosted alternatives like custom Expo update servers for teams that need their bundles to stay on infrastructure they own.
Animations are where most React Native apps still feel off, and the tooling has changed substantially. Reanimated 4 moves to a CSS-style animations API on top of the worklet runtime, and pairs with Gesture Handler 2.x for input that doesn't drop frames during heavy JS work. For anything beyond standard transitions — shared element transitions, frame-by-frame effects, custom shaders — React Native Skia is now the default answer.
Our team writes the kind of articles we wish existed when we first picked these libraries up: worklet pitfalls, how layout animations interact with FlashList, when to drop into Skia instead of fighting the layout system, and how to profile a janky screen using Hermes sampling profiler and Xcode Instruments together.
Browse the latest articles below for hands-on walkthroughs, upgrade notes, and the production-tested patterns we use on the apps we ship. New posts land most weeks, and older guides get revisited whenever React Native, Expo, or the underlying native SDKs move.
Ship WebAuthn passkeys in React Native with Expo dev-builds, Associated Domains on iOS, Credential Manager on Android, and server-side verification.
Capture heap snapshots from a Hermes-powered React Native app in Expo, read retainer paths in Chrome DevTools, and catch the three most common leaks with numbers, traces, and CI regression tests.
Ship native Apple Maps and Google Maps in a React Native app with expo-maps: install the config plugin, render your first map, drop markers, handle camera events, and decide when to stay on react-native-maps.
Ship iOS home screen widgets from an Expo React Native app using @bacons/apple-targets. Covers App Groups, SwiftUI layouts, App Intents on iOS 17+, deep-linking, and the debugging traps that eat weekends.
A practical, hands-on guide to Bluetooth Low Energy in React Native with Expo and react-native-ble-plx v3: dev builds, iOS/Android permissions, scanning, GATT services, characteristic reads/writes, notifications, and background reconnection.
Expo File System Next in SDK 54 replaces the legacy async URI API with File, Directory, and Paths classes. Here is the full setup, sync vs async guide, and legacy migration playbook.
The React Compiler ships stable in React 19.2 and works with Expo SDK 55 and React Native 0.83. Setup steps, real performance traces from three production screens, bailout debugging, and a rollout checklist.
Build server endpoints inside your Expo app with +api.ts handlers, then ship them on EAS Hosting. Covers server output, dynamic segments, auth, middleware, env vars, testing, and honest limits.
A React Native lead engineer's hands-on guide to Expo EAS Workflows: the YAML-based CI/CD system for building, submitting, and OTA-updating your app without GitHub Actions. Includes a full production workflow file, monorepo setup, secrets handling, and a comparison table.
Learn how to add a WebView to your Expo React Native app in 2026. This guide covers install, postMessage bridging, safe JavaScript injection, cookies, file uploads, debugging with Chrome DevTools, and the security defaults every production app needs.
Config plugins keep native iOS and Android changes in code with Expo's Continuous Native Generation. A working 2026 guide to withXcodeProject, withAndroidManifest, prop validation, idempotency, and shipping plugins as npm packages.
Ship real-time ML Kit face detection and OCR in an Expo development build using React Native Vision Camera v5 frame processors, runAsync, and worklets.
Choose your preferred language to explore our content