The default pattern
Hybrid wrapper
A web app shoved into a WebView, store-submitted as “native”. Ships fast, breaks the first review, gets one-star ratings on launch week.
- A web view in a Capacitor or Cordova wrapper, called 'cross-platform' to skip shipping two real apps.
- Jank under load: stuttery scrolling, slow keyboard handling, animations that drop to 30fps on mid-tier Android.
- No platform-native UI: iOS users get an Android-shaped app and vice versa; both populations feel it.
- Offline mode is 'we cache the last response in localStorage'; the app is unusable on a subway.
- Push notifications are bolted on after launch; deep links never work reliably.
- Store review rejections that nobody on the team has the time or skill to argue against.




