React Native is extension of React. By which we can develop Native Applications. Native application development means writing apps for a specific operating system. React Native helps developers to reuse code across the web and on mobile. React Native currently supports both Android and IOS, and it has the potential to expand to future platforms as well, like Tizen TV.
Why React Native?
We can easily use native views or components like Native Buttons, Native Activity Call, Dropdown or anything. We can also use the code written in native language. If something looks difficult or impossible to develope using react native, we can write that feature using native language and using some interfaces, we can easily use that native code with react native. This functionality can remove limitations of cross platforms to develop application.
Other Cross application development framework comes with drawbacks, especially for performance. Also, they do not have access to the host platform’s native user interface elements. When these frameworks try to imitate native UI elements, the results usually not like native experience. While react native comes with performance and gives native experience to application user interface.
React Native usually translates your markup to real native UI elements, rendering views on whatever platform you are working with. Additionally, It works separately, from the main UI thread, Therefore our application can maintain high performance without sacrificing capability. Life cycle of React Native is same as in React: when props or state change, React Native re-renders the views.
React Native is not have any IDE for developer till now and debugging is a major concern to work with react native. Debugging with react native is still a horrible task for mobile application development, especially for Android application development.
The biggest issue is probably React Native’s maturity, as the project is still relatively young. It’s still in beta version. Support for IOS was released in March 2015, and Support for Android was released in Sept 2015. The documentation of react native certainly need for improvement.
Some features on iOS and Android still aren’t supported, and the community is discovering the best practices. The good news is that in the vast majority of cases, we can implement support for missing APIs yourself.