React Native is not a mobile framework

React Native is not a mobile UI framework. Flutter owns pixels. UIKit and Jetpack Compose own the view tree. React Native owns a JavaScript program that talks to both.

Native views, JS orders

JS describes the tree. Native code mounts real UIViews and Android Views. Scroll, text, camera, haptics — those are platform widgets. React never painted them.

The JS thread is the orchestrator. It holds state, runs effects, and calls into native modules. If that thread stalls, native views stop getting orders.

The new architecture did not change the job

JSI, Fabric, and TurboModules kill the old JSON bridge. The model stays: JS decides, native executes.

When to pick it

Pick RN when you want one JS codebase to drive two real platforms. If you wanted a portable renderer, you wanted Flutter.