With React Native, you program in Javascript and your code will be "translated" into native components of each platform. When you declare a Text
, for example, it will be translated to a UIView
on iOS and for a TextView
on Android.
With Ionic, you also program in Javascript, but your code will run inside a WebView
, may generate a difference in performance.
I believe that any tool for hybrid development will offer ways to make customizations for different platforms, since each platform has its peculiarities.
In this way, the normal stream of development, both in Ionic and React Native, is to make code only for both platforms. If necessary, there is the possibility to make customizations for each platform.