We ship both, so we have no side to defend. The framework argument is usually the wrong argument: what matters is which parts of your product are sensitive to it, and most parts are not.
Cross-platform is usually right when
The app is mostly screens over an API - lists, forms, dashboards, content. You want both platforms from a smaller team. You expect to iterate fast on product rather than on platform behaviour.
Native earns its cost when
- You need sustained frame rates - games, camera, heavy animation
- You depend on platform features early, before the bridges catch up
- Battery, memory or startup time is a competitive feature
- A regulator or a partner SDK effectively requires it
What the argument usually misses
Your backend, your data model and your release process will outlive the UI choice, and they cost more to get wrong. We have seen far more products struggle because the API was designed around one screen than because of the framework it was drawn in.
Mixing is allowed
Shipping most of the app cross-platform and dropping to native for the two screens that need it is not a compromise, it is usually the correct answer. The mistake is deciding once, globally, at the start, and then defending it.