When developing various products, either for ourselves or for the clients, there has always been a question that interested us: how can we narrow down time and cost of product development. I will give you my opinion why React Native is better solution for our developers.
Response time that could be the same with native apps.
Ability to reuse the code parts for desktop and mobile (mobile apps) and even for the server.
Convenient toolchain for developers that allows to quickly develop and debug the app.
Big amount of elaborated components from Facebook.
Even bigger amount of components from community.
Ability to realize the ideas of functional programming in development which ensures great stability and reliability of the app and relative scaling simplicity.
React Native is not limited to one platform. The same framework can be used to code, design and release apps for multiple platforms, including iOS and Android. This significantly reduces the hours required to code and set up resources for individual platforms.
Less performance as it’s not completely native, especially with older versions of Android don’t even dare using it for heavily graphical stuff
you don’t have plugins for everything, and if you need something specific, you’ll need to program it for all the target OSes
Conclusion: I didn’t mean React Native is perfect 100% and Ionic is not good at all. I just want to talk about my view. I saw a lot of people like to use React Native than Ionic.
I don’t think React Native is the best. React Native also has some problem like:
The process of conversion of HTML code to native code can be buggy at times, and to fix the problems, you need to understand ObjC/Swift.
Originally created for iOS, so many components for the Android may require some work from your side.
I agree with you those points but I think it depend on your purpose or your project.
If you are aware of PWA (Progressive Web App), then Ionic 2 is a perfect example of it, because you are getting the app-like experience by using the modern web technologies. Of course, there are requirements for the PWA, which you can read from here (https://ionicframework.com/docs/v2/resources/progressive-web-apps/).
Ionic has hybrid web development support. Same code-based can be used to develop applications for Android, iOS, Windows Phone, and web.
Very fast development-testing cycle. You write the code and test it on the browser, no need for heavy emulator loading.
Allow you to write code in TypeScript, making the transition from AngularJS 2 very easy.
The same language (TypeScript) can be used to develop applications for every platform.
Its plugin system makes it available for you to use any kind of native functionalities of devices.