Also, what are your views about apple not accepting hybrid apps anymore (phonegap, ionic frameworks)?
What are the requirements? I am working on a mobile app. Its requirements are:
I decided to use Cordova (on which IONIC is based), because it allows for one codebase across all platforms and more than enough performance for the UI and server communication. Also, Cordova is web-dev, which is what I am able to use (I am neither proficient in Java nor Swift).
If I had to create an application, which is heavy on the UI, but does not have to do a lot of calculus, I might have chosen React Native instead. Though I would have to check the license first, and knowing Facebook, the license might be a problem.
On the other hand, if I had to write an application, which does a lot of processing (like a game, media analysis, etc.), I would have gone native. As for the language, I would probably decide for Rust, which allows for abstract, low-level, cross-platform apps.
Concerning the Apple debate, as far as I can understand it (and if I believe a lot of rumors), apps which are produced by certain platforms will be rejected, however they will probably not reject your app, if you use a hybrid framework and go through all the steps manually. So Cordova, IONIC, and hybrid apps in general will probably still be ok, as long as you do not submit them through PhoneGap, Appcelerator and the like. I think that's the case, because some sources also mention banning Xamarin, which does produce native apps.
I would choose React Native for the following reasons:
Bob Stone
Student
Nstive (swift / java) Reasons: