What is React Native and its future in the mobile app development? Using React Native, you can build mobile apps that are indistinguishable …

Are you looking to build a mobile application and debating which technology to pick? React Native is one of the most popular mobile framework and thousands of apps are already built using React Native. Big companies like Facebook, Uber, Instagram, Tesla, and many more are using React Native to build their cross-platform mobile apps.

Small startups also are leveraging React Native. I have been working on React Native for the past two years and have used it to build various applications.

Let me give you a brief overview of what it is, and some of the most appealing aspects of React Native.

Below is a snapshot of the most liked aspects of React Native, from the recent State of JavaScript survey of 2018. This gives you a quick overview of all the good things in React Native.

https://2018.stateofjs.com/mobile-and-desktop/react-native/#likes

Written in JavaScript

When I started writing my first React Native app, I did not have any previous mobile development experience. I knew JavaScript, and that was all I needed to get started. The good thing about React Native is that web developers can leverage their knowledge in JavaScript to write mobile application.

This is one of the most liked aspects of React Native. It attracts a lot of web developers into the space of mobile development.

Uses React

The other impressive aspect of React Native is that the underlying framework is React. React Native is uses React and create native mobile applications. Those of you in the web development world are aware of the huge popularity that React has attained over the years.

React Native uses the same concepts as React and wraps the components around native mobile components instead of the web components. If you are a React developer, then learning React Native shouldn’t take you more than a couple weeks.

Builds Native Cross Platform Apps

Unlike other frameworks that build web view, React Native is used to build truly native mobile apps. With React Native the underlying widgets are all native components, therefore giving the user a superior experience. This is another feather in the cap of React Native.

What strikes me the most is that you are coding in JavaScript and React to build a native mobile app. This is one of the reasons that apps built using React Native has a superior user experience in comparison to many other frameworks.

Code Once for both iOS and Android

For small companies and smaller teams this is a huge benefit. You do not have to maintain multiple code-bases for both iOS and Android. You don’t need to know Objective-C, Swift or Java. Instead you can use JavaScript and React to build cross platforms native apps.

From my experience about 95% of the code is shared between iOS and Android. This is great, because you don’t have to maintain multiple code bases, multiple teams and multiple knowledge sources. Instead you have one team and one code base to tackle both platforms.

This is a huge win for small companies, since it can save them tons of money in terms of team size, and development time.

With this the development, testing and debugging turnaround time is much shorter when compared to native development.

Backed by Facebook

When a choosing a tech stack, it is good to evaluate the backers of the technology. React Native is backed by Facebook just like React. Being backed by a huge corporate like Facebook, builds trust in the community. React Native is completely open-sourced and anyone the community can contribute to it. But the core contributors are from Facebook and the company is heavily invested in this technology. They have also built many of their products using React Native which shows their confidence in this framework.

Great Developer Experience

Photo by rawpixel on Unsplash

Overall, the developer experience with React Native has been amazing. With features and tools like Hot Reloading, React Native Debugger, Over the Air updates, React Native has set itself apart from other frameworks. The developer velocity is quite high, and you don’t have to waste time on monotonous tasks after leveraging the great tooling options.

The last two years of React Native development has been great for me and I would highly recommend this framework to developers who are interested in mobile development.

What needs to improve in React Native?

Now, everything can’t be perfect about a framework. Just like any other framework, React Native has its problems too. Here are some areas of trouble and the team is continuously working towards making it better for the community.

Let’s see what the State of JavaScript 2018 survey results are for the most disliked aspects of the framework.

https://2018.stateofjs.com/mobile-and-desktop/react-native/#dislikes

Errors

Due to support to cross-platform capabilities, React Native developers may run into errors and bugs unrelated to their code. Most of these are errors from XCode compatibility, MacOS compatibility, Gradle/Android Studio issues, etc. Nevertheless, the developers are thrown off when they see errors that they do not understand.

I personally wouldn’t call these error-prone code, but I see these as compatibility issues. Most of the errors that I have seen are not on the code level but related to compatibility with several ecosystems that are needed to support cross-platform capabilities.

The React Native team is actively working towards making this better, and I am sure some of these issues will be a topic of the past very quickly.

Fast Changing

Upgrading the project has not been fun at times. This is one of my biggest complaint. Obviously things are much better today, than it was a year ago. The last few upgrades have been quite smooth for me. With a young framework like React Native, the pace is fast, and hard to catch up with sometimes. My recommendation to teams that are using React Native is to keep the project updated with the latest React Native version at all times. Do not wait for several months to upgrade your project, because things would have changed a lot with a span of few months.

Things will slow down a bit in a year or so, once React Native is considered a more mature framework.

Future of React Native

https://2018.stateofjs.com/mobile-and-desktop/react-native/

Overall, React Native is hot and trending. It has been adopted widely across several companies for the mobile development. Although there are some pain points, people still like it and are using it widely. I hope the framework keeps up with the momentum and gets better by the day.

If you are a team of JavaScript developers hoping to build a mobile app, React Native is the best bet for you. If you are a company with a smaller team and have to ship mobile apps cross-platform, React Native is definitely your right choice.

Are you are interested in learning React Native? You need to learn React first before diving into React Native.

I hope you enjoyed this article. Watch this space for more interesting tech articles and share it with your friends and team.

#react-native #ios #android

React Native – The Future of Mobile
4 Likes19.85 GEEK