Expo is the managed React Native platform (SDK, EAS build, OTA updates). React Native CLI is the bare framework that requires you to manage Xcode, CocoaPods, and signing.
| Feature | Expo | React Native CLI |
|---|---|---|
| Setup time | Minutes | Hours |
| OTA updates | EAS Update built-in | Roll your own |
| Build pipeline | EAS Build managed | Local Xcode / Fastlane |
| Custom native modules | Supported via config plugins | Direct, unlimited |
| Cost | Free + paid EAS tier | Free |
| App size | Larger (Expo runtime) | Smaller |
Expo for nearly every new React Native project in 2026. RN CLI only when you need custom native modules that Expo doesn't support or require deep Xcode control.
Rarely. Expo now supports nearly every native module via config plugins and prebuild. Default to Expo.
Yes — prebuild generates the native ios/android folders. You can leave the managed workflow anytime.