So, obviously, the very first question came to your mind is, What is react native? and in order to understand the react native we have to touch up a little bit on the rest as well. Now, in case you are not aware of the project react. It is a project being designed by Facebook. And in case you are not aware and still don’t believe me that these apps can be really awesome just take out the phone and have a look at the apps like Facebook, Instagram, Airbnb e.t.c, they are completely being designed and up almost switched into the react-native.
Again coming back to the question, what is react and react native??
So, Facebook recently was facing a lot of problems like re-designing their apps and everything, and basically, what I believe the main problem was handling a lot of users as well as to just roll out new features as well. Now just on the twist side node just try to imagine if I gave you a small chunk of the Facebook app which is humungous, which is very big and you have to just re-compile that app, hit just controlled be or command be, just rebuild that app, it’s gone take a lot of time, u can have probably a coffee or can have a nap and still that app is going to be compiled. So Facebook needed something more robust, faster that can handle a lot of traffic as well as can be designed really quickly. And the team at Facebook got started by designing a new completely fresh project which is react. Now, the good part about react is its virtual dom and the virtual dom is really fast and although it is a library, and it’s a kind of very lite weight component that can be injected anywhere. You can use react with PHP, MySQL, Firebase, Mongo DB, or any kind of database you used in your project.
So, now the successor of react is react native. Obviously, it's a framework for building native apps. Now all the things that you learnt in react like components, props, states and other things are used in react native as well. The best part about react native is two, first of all, you don’t have to ever compile your apps, you just hit a reload just like your website and that’s it, you are done making your app and the second part is you don’t have to maintain two separate code base for your application. For example:- let just say I have an application and I have to launch two separate versions of it, obviously iOS version and in android version. It requires two teams out there because simply one team is going to maintain an Android application and one team is going to maintain an iOS application, but in react native, you just have to maintain one single code and that code will produce a native Android app as well as an iOS app.