What is React Native?
Long story short: React Native is the future!
Short story long:
React Native is a framework that Facebook developed to make dev lives better. It is a technology that enables you to create mobile applications that are identical to the ones built with Swift or Java.
The best thing is that with React Native you can build apps for both iOS and Android using just the one coding language.
Advantages
- Native. Although you are actually sharing code between the two platforms, the app that results is and feels native. So in some way, you only have to invest in one app, but you end up with too. It’s like getting two for the price of one.
- Cross-platform usage. At first, Facebook developed it for iOS. But it slowly gained traction, so they decided to take it one step further and provide support for Android as well. Using the same database between platforms is a life and time savior. And this is actually what makes React Native special.
- Components. Using the elements is made very easy. It basically merges HTML and CSS, so you don’t have to write a loooooot of code. The same goes for styling them. This might reduce flexibility, but trust us, the debugging process will also shrink.
- Efficient. The development process is quick and easy. By not having to work on the two different platforms, you can focus on just React Native and have awesome results while saving a lot of time.
- Live Recompiling. Every time you change something, this feature enables you to reload the app and see how it works live. You no longer have to recompile the files after each small line of code to see how it works.
- Community. Being backed by a giant such as Facebook is always good news. What can make it better is an excellent community behind it, which React Native has?
Ok, sound good, but…
How does it actually work?
It is very similar to React. The vast difference is that React Native runs on JavaScript Core, and, as a result, for renders native components.
Quick recap: React’s Virtual DOM feature which for the UI to be rendered, the DOM should be edited.
Now, with React Native, things are similar. So instead of DOM, Objective-C APIs (iOS) or Java APIs(Android) are rendered. Think of React as having a connector that enables it to use an interface into the platforms native elements. The components markup is the one that actually describes how it should look and work.
In theory, if a connector would exist, React could do this with every platform. Now, this is a cool story, but how do you start learning it?
Learning ReactNative
First of all, you should understand what correctly building a mobile app is. Get familiar with the concept and components of apps.
Next, go to the official docs and try to understand what each component does.
You can read some books about such as React Native such as Learning React Native: Building Native Mobile Apps with JavaScript which is quite comprehensive. If you read it, you’ll understand React Native better that some of the people who use it.
You must start using it! There’s no point in learning a new technology, language or framework if you don’t use it. And we recommend you start using it right away. As soon as you understand the basics, you should start playing around with it. In the end, you can read and learn as much as you want, but without practice, it will be pointless.
TL;DR
- React Native is a framework for developing mobile apps
- It work cross-platforms, so there’s no need to built an app for Android and one for iOS anymore
- It is fast and will definitely increase the speed at which you develop your app
- Objective-C APIs (iOS) or Java APIs(Android) are rendered (much like the way in which the Virtual DOM worked for React)
- You need to start using it to learn. There’s no other way.