What is React Native? Is it really a combination of ReactJS and Native?
React Native is an open-source framework for mobile application development in addition to web application development as well. It was released by Facebook in March 2015. React Native is one of the widely used cross-platform mobile application development frameworks. It is used for Android, iOS, Web and UWP(Universal Windows Platform).
Attributes of React Native
As it is clear what React Native is and what are it’s two important components. Let’s move forward to the features.
It consists of Qt Port (although, incomplete). For those who are not aware of Qt, it is a free and open-source widget toolkit for creating graphical user interfaces which is very helpful in the graphic designing of the applications.
It is written in –
It doesn’t use HTML like ReactJS, although it is evolved from ReactJS which makes it a bit easy for the React Native application developers.
React Native’s working principles are virtually identical to ReactJS.
It doesn’t manage the DOM via the virtual DOM.
It was initially released on March 26, 2015.
It’s stable update 0.61.5 got released on November 23, 2019, the key feature of this update is it refreshes fastly.
With this new stable update, there’s this new command added to troubleshoot and fix errors – React-Native Doctor.
React Native’s development performance is faster with comparison to another cross-platform framework.
React Native App Development team use declarative self-contained UI components and fast development cycles to retain the speed of applications.
React Native is the execution of ReactJS on mobile phones.
Pros and Cons
It is a multi-platform development framework, that is it can be used on many platforms, for developing different kinds of applications irrespective of languages known.
It takes a shorter development time.
It supports both live and hot reloading.
Live Reloading – reloads or refreshes the entire application when a change is made in the file. Live Reloading is a feature that notices the changes that you are making in your files. And whenever you click “ctrl + s” to save your document or report it just read your files, compiles them and produces new files for the server which then reloads your application automatically so that we can see all the changes that you made.
Hot Reloading – only refreshes the files that were changed without losing the current state of the application. Hot Reloading is to keep the application running and to add new versions of the files that you updated at runtime. This way, you don’t lose any of your state which is mainly useful when you are twitching the UI. Live Reloading was introduced before Hot Reloading came into the picture in the React Native Application Development Environment. Fundamentally, Hot Reloading is based on HMR (Hot Module Replacement) which was first proposed by WebPack, which we commonly use in ReactJS Applications for loading the changes at runtime.
It has simplified UI, that makes it easier to use.
It supports Live Updates and Code Push at runtime.
It still contains less Native Navigation for users.
It consists of fewer customized modules. It also lacks some components and some are partially developed, which makes it a bit difficult for the developers to work.
Although it does have Native capabilities but Native Code used by it still needs improvement.