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.
This is one of the most liked aspects of React Native. It attracts a lot of web developers into the space of mobile development.
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.
Code Once for both iOS and Android
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
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.
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.
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
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.
Are you are interested in learning React Native? You need to learn React first before diving into React Native. I highly recommend Mosh’s course on Mastering React, before you get started with React Native.
I hope you enjoyed this article. Watch this space for more interesting tech articles and share it with your friends and team.
You can also checkout the article comparing React vs. Vue if you are in the middle of evaluating frameworks.