My React Native App development experience

Pranav Agrawal
Magure
Published in
3 min readApr 17, 2019

React Native is one of the emerging technology developed by Facebook, it leverages developers in building cross-platform applications using native API’s and using common code. Initially, I started my career as an iOS Developer and I always felt bad about not able to deploy them in android as well, but after using react native for developing mobile apps I am able to develop in both iOS and Android which is very satisfactory.

React native is a framework that builds a hierarchy of UI Components using a javascript code, and it has components for iOS and Android to build a mobile application that gets a native feel and look. So by using this developer has an advantage to code once and the react native apps are available for both iOS and Android platforms which helps to save development time. React native is a component-based architecture, so you can re-use the components wherever the UI is common, this makes very easy to build complex UI.

React native offers two types of components namely functional and class components , functional component is just a plain Javascript function which accepts props as an argument and returns a react element while on the other hand class component requires a render function and should be extended by React.component, with this feature app’s performance can be improved by using required type of component based upon requirement.

The data flows between parent component to child component using props which is a short-hand for properties. Props follow a uni-directional data flow. This makes easy to use components and maintain communication between components easily.

Another great feature of react native is it has STATES. A State is used to maintain data of a class, so whenever the data changes we can update the state and hold the change. While setting state using setState it calls render function with new data which is very useful to update the UI.

React native apps can use redux as a predictable and shared state container which helps to maintain consistency and observing the whole data changes in the entire app.

The entire data flow of the app is handled in a single container by persisting previous state.

In react native we write our views in JSX, it is a combination of markup and javascript that controls in a single page, Which is later converted into pure JS code using babel. The developer can write any part of code natively and can integrate into react native using a technique called bridging which is very helpful to make every part of the app perform well. Using this process animations can also be presented very smoothly.

React native gives you an option to debug using chrome tools to see the logs of app remotely, and it allows the app to enable live reload which helps in updating app instantly when a code changes which helps in observing changes easily.

We can easily create a starter project by just running this command in terminal

Create-react-native-app “app name”

React native uses NPM(Node Package Manager) to integrate third-party libraries with a very easy process

To make use of the libraries.

React native allows to run an app in the real device just by running this command in terminal

For iOS — react-native run-ios — device “device name”

For android — react-native run-android.

And hereby I conclude, react native is growing rapidly with a very large community to support and mainly backed by Facebook which makes app developers life so easy while building bigger applications by using a single code to develop apps in Android and iOS, we experience the high efficiency and low cost & workload during the development process.

--

--

Pranav Agrawal
Magure
Editor for

Hey there! Building apps is an art. And, we happen to have the best in business to give just what you’re looking for. Visit https://www.maguresoftwares.com