Capacitor vs React Native — when each wins
Capacitor wraps a web app in native shell. React Native compiles to native. Different tools for different problems.
Capacitor (formerly PhoneGap/Cordova evolution) and React Native attack mobile from different angles.
Capacitor: take an existing React/Vue/Angular web app, wrap it in a WebView, expose native APIs through plugins. The UI is HTML/CSS rendered by WebView.
React Native: write JS, run on native UI components (UIView/UIKit on iOS, Android views on Android). Looks and feels native.
When Capacitor wins:
- You have a working web app and need a mobile version fast
- App is mostly content (catalogue, blog, dashboard with charts)
- Team is web-only, no mobile experience
When React Native wins:
- Need true native feel (animations, scroll, gestures)
- Heavy interaction with native APIs (camera, sensors, BLE)
- Performance-sensitive (lists, real-time data)
For a content-heavy app: Capacitor first, only switch to RN if performance breaks.