React Native — Pros And Cons

During my time at Flatiron Academy’s immersive software engineering program. I learned Ruby, Ruby on Rails, JavaScript, and last but not least React. Every graduating class had to present their individual final web application projects. Most students would build their web app with everything I learned at Flatiron. Others would take a risk and learn React Native to build mobile applications during their final few weeks at Flatiron. I say “risk” because during the first few days of the final module, final project module, you have to present your MVP (Minimum Viable Product). You are then given a week from then to complete it.

Now even with learning everything needed to build these applications you can only imagine how nerve-racking it could be being a new developer. At one point our coaches even gave us a little warning. That we can use React Native if we like, but some if not all of them had little to no knowledge of the framework itself. Therefore the chance of getting effective help from the coaches, when you’ve hit certain bugs, could potentially decrease. Yikes!

Photo by Caleb Woods on Unsplash

Since graduating from Flatiron I’ve taken the time to learn React Native and still am. I’ve come to notice many differences between React and React Native. Which I wrote a blog about here. So here I will be going over some of it’s pros and cons. So if you’re reading this with a curiosity in React Native. It should help in your decision to use this solution in your project.

Pros of React Native

Speeds up the app development

The main benefit to using React Native is it’s single code base to build an application for two platforms. Which means multiple teams are no longer needed to build one application. In turn saving you time and money. Cha-ching!

Easy To Learn

That is if you already have used React in web development. I noticed that React Native uses the same tools, libraries and patterns which made it feel highly familiar to me.

Has A Hot/Live Reloading Feature

It’s a fast refresh feature enabling us to speed up the process in bug fixing and adding additional features. All done so while still having the application running.

Broad Community

React Native is a part of the React family so you wouldn’t have a problem searching for some solutions on Stack Overflow. Creating a smooth development process in building a mobile app.

Cons Of React Native

Feature Lag

Given the multiple updates android and iOS go through introducing new features to its operating system. Catching up with any updates can take time. So the team behind React Native are always taking that time to bring new functionality with the OS updates.

Potential Performance Hit

Considering it is one code base for two platforms. React Native still isn’t able to deliver the ultimate user experience as that of a native platform would. Catering to one platform in maximizing its functionalities.

Support With Libraries

Although React Native still has an abundance of libraries and components to choose from. There may be a need to install a third-party library or even build a specific component with certain functionalities from scratch. That just adds to time and money.

Photo by Brooke Cagle on Unsplash

I’m still learning React Native everyday and it’s amazes me at what I can achieve as I’m building with tutorials. At first I was a little confused, having come from React, but everyday I understand it more and more. The team behind this framework are consistently updating React Native every few weeks to perfection. I can honestly say I cannot wait to fully grasp it’s potential effectively. I truly hope this helped in your decision on using this framework regardless of how frightening it might sound. Every program will have it’s pros and cons so I’d say go for it!

Thank you for reading!! Below is a list of my resources.

Software Engineering Student currently at Flatiron Academy. Background in architectural design. Love for sustainable design and tech!