Why I turned react native and never come back to Ionic.
After couples of weeks studying and practicing ionic I decided to leave Ionic, also Cordova ecosystem at all, and turned all focus to react and react native technology, are you interesting to know why? , OK keep reading the next lines.
1- The first thing you will notice while working with Ionic is the confusing debug handling, ionic team put their efforts to provide a real support for issues , also they build an error handler as library to handle displaying errors , but unfortunately still many weird issues flow on the surface, of course there is a big reason for all these unexpected bugs , which is the variety of layers that makes a series of dependencies., At the top root there are the typescript and AngularJS framework then ionic components with wrapped Cordova native plugins, finally the source APK will run through the browser WebKit, which leads to hard maintained application.
2- The application startup time, picture that, I simply created a to-do app with only storage plugin no more and guess what?, It took about 30 second to start the app!!!!, after googling for two days and tried couple of solutions there is no solution, neither on ionic repository, also this seems sensible because for rendering your app you should load many files at the first time then ionic will Cache entire app, but it's still useless option, because anyone probably try the application for the first time gonna shock For the performance and mostly will not give another chance.
3- The app performance, as I said above the browser WebKit is not mature to deal with big calculations and sync tasks for big data, big view lists, because it's for sure not built for, so to provide a good performance you will put much efforts to achieve that but never be equivalent to native.
4- You have to think in ionic with the point of view for AngularJS team which not the same many times, as example lazy loading in AngularJS is not the same as ionic which confuses any developer knows them, that's because they're a different teams with different thoughts and targets.
That's about ionic, now what's about react native?
2-App startup time and performance is like a native, regards some performance issues in the past, mostly been loading large data in Listview and it solved by react native team by replacing Listview with Flatlist.
Why that easily handled? Because you target a native code, so if you ran into problems you can find a solution.
3- Basically, React built by Facebook team as a frontend web technology to support their social media platform, then Facebook announced it as an open source solution, in 2015 react native was built upon react with the same methodology but for mobile platforms rather than web, therefore you will learn once and write everywhere, the same concept and the same team, no surprises, no confuses or worries, they always care about the relationship between their products.
4- As react native supported by Facebook, so you can expect the huge difference in contributors and the support
Ionic is a good solution for who wants an easy cross platform solution to up and running and for small business applications, but who wants to invest some time to learn solid technology to build native apps I think that react native worth that time, and it will be the cross platform future.
Last but not least, I thought to start a series of tutorials about react native ASAP to share my experience with my good friends :)