Our knowledge base for software, electronics and everything in between
A native app, is a term refers to a software, which has been coded using the original tools and programming language which the platform intented to be used, most often directly on the processor.
Assuming IOS, the native solution which comes from Apple itself is either Swift or Objective C. Apps, written in these two languages are being considered Native for IOS Platforms. Very similar principle is applied for Java on Android devices, as well as C/C++ for Intel processors.
Due to several reasons, such as cost of developing for multiple platforms, difficulity of learning native languages, other 'alternatives' came into play, for example to use web development knowledge to build some kind of apps, which could cover a lot of use cases, if not all. Most of mobile apps, are few views, maybe taking user location and access to camera, without much of processing need, therefor hybrid apps been used where there was no complexity, and at the same time, web developers.
All of these, are hybrid frameworks. Ionic, cordova are based on the web, React Native has it's own solution to solve the web view performance, and Xamarin is written in C#.
I do React Native myself, for all clients. Simply, React Native can serve 95% needs of clients. The performance issues, animations, and other minor performance glitches could be solved with a bit of time investment, and most of them are neglectable.
Obviously, if you are having a large sum of captial to invest on a huge corporation app, or your app is all you do, like Uber, Whats App, Instagram, you need to consider Native development first.
For rest of clients, which consists 99% of them, I advice the React Native. It provides fast UI interactions, and it's quite productive in the long run in comparison with investing both on Android and IOS.
It really also depends on your team which builds the app, and many other factors. If you backend is slow, it would not matter that much if 200ms will be saved upon the app start in the first place.
If someone builds a React Native app good, it's far better than a bad team which wrote it natively, but poorly.