What is native mobile development?
The most popular mobile operating system are Android and iOS. The development of mobile application for those platforms using the officially recommended technologies, libraries and frameworks is known as the native mobile development.
e.g:- For Android (Android SDK + Java Or Kotlin
For iOS Swift or Objective C
Then you might be thinking of how the react-native has become a native mobile application development framework. let me explain.
What is React-Native?
How does React Native differs from Ionic?
In ionic, we are building a HTML based web application that runs inside the native (Android or iOS) mobile application (with support of WebView). WebView is basically a hidden browser. So it is just a web application that runs inside(that is hosted inside) the WebView component of the underlying native application. Therefore it is not a native mobile app and it has some limited wrappers to access the core features of the underlying operating system (Android or iOS) of the device.
Mobile Specific Components for React-Native
Unlike in “normal” React apps built for the browser, you’ll NOT use HTML tags. Instead, you’ll use a set of pre-built components which will be compiled to native code by the React Native toolchain.
In the React, you can see <div> and <span> components much similar to HTML elements. But in react-native you cannot use such components as the native mobile application does not recognize <div> and <span>. It has some special developed components such as <View> , <TextView> etc and those will be compiled/transformed into native application syntaxes in the compilation process.
Does it compile everything into the native application code?
e.g:- View will be transformed into Android View component.
Text will be transformed into Android TextView.