Ionic framework was developed back in 2015 as an customization for Apache Cordova by the Drifty Co. software vendor. Mainly it was introduced for the development of hybrid mobile applications. Hybrid mobile applications are the small websites which are running in browser shell in an app that have access to the native layer.
Ionic is focused on building modern web standards and modern devices. Ionic supports for Android 4.1 and up and for iOS 7 and up. Ionic 2 supports Universal Windows Platform. Ionic framework powered by Angular.Js supports BlackBerry 10 apps.
React Native Overview
React Native is a Java Script framework for writing real, native mobile apps for Android and iOS. React Native is based on Facebook Libraries for building UI. React Native is proudly manage and maintain by a community of expert React Native developers and leading corporations, including Facebook and Instagram.
React Native is cross-platform means the same code is use for Android as well as iOS. Unlike Ionic, it is not designed for write once and run everywhere. So you need to change some platform specific code in your program.
Ionic vs React Native
|The general idea of Ionic is for improvement portability of web technology.||The general idea of React Native to use functional user interface|
|TypeScript (it is super-set of JS that compiles 2 simple and clean JS on any browser) used for Ionic.||React Native (JSX that means it is a syntax extension that optimizes the code while compiling the code to JS) used for React Native|
|Ionic reuses the code to develop android, iOS, windows phone, web, desktop and progressive web-apps||React Native reuses the code to develop android, iOS and windows phone apps.|
|As Ionic is uses web-view the code performance is okay.||In the React Native code performance is excellent as there is no web-view.|
|Testing can be done on any browser while using Ionic||In React Native testing is done on emulator or real phone device.|
|Apache cordova is used as hardware accessibility in Ionic.||React Native itself is capable enough.|
|In Ionic needs to be written only once, but can be executed anywhere.||In React Native needs to be learn only once and becomes easy to write on any platform.|
|Ionic use to develop hybrid mobile applications.||React Native is use to develop native mobile applications.|
|The documentation of Ionic is simple, clean and consistent.||Documentation of React Native is very basic|
|Ionic is based on Angular 2 backed by google.||React Native based on react backed by Facebook.|
Ionic and React Native both are meant for the same purpose but different project requirement. Between Ionic and React Native which framework is better is depends on many factors like, your project, your user requirements etc. They both do different things, and both do it well.
If the developer already has ReactJs then React Native is good choice. And if the developer is familiar with Angular then Ionic may be good choice.