How React Native Enabled Us to Develop a Mobile App in a Third of the Time

A graphic shows, left to right, an illustration of a smart phone with the Apple logo, an atomic symbol and a React Native app development and a smartphone with the Android logo as a way to illustrate React Native in the mobile space.

It’s an incredibly exciting time in mobile development. Up until recently, native mobile apps were primarily built in either Java for Google Android or Objective-C/Swift for Apple iOS. But with the emergence of frameworks like Facebook’s React Native, developers can now build mobile applications in JavaScript with one programming language and with just one codebase.

Not only am I—along with the rest of the development community—extremely pumped about React Native, but the amazing benefits of this emerging technology extend to mobile app development customers as well.

The Benefits of React Native

In 2015, Facebook released its mobile UI framework React Native, and it’s made great strides—with Walmart, Bloomberg and Instagram among the many companies building apps on it. The biggest benefits of React Native are that it saves time, improves code quality and has increased the developer talent pool.

1. Saves Time

When developing apps in the past, companies needed to assemble and manage two teams and two different codebases. This led to siloed teams and slower build times. With mobile UI frameworks like React Native, engineers can code for both platforms using one language with one codebase.

Underneath the hood, the frameworks transpile the code down to Objective-C and Java. Beyond having just one codebase, the developer ergonomics—the ease of being able to simply code—are amazing and allow for rapid development and iteration.

For customers, this translates to a shorter development timeline and faster time to market.

The New Era of CMS_eBook.png
The New Era of CMS:
What You Need to Know

2. Improves Code Quality

When it comes to React Native apps, you’re dealing with less code, which subsequently reduces the opportunity for bugs. Developers have the chance to do declarative (functional) programming versus imperative, which means easier testing and fewer bugs. It’s also worth mentioning that Jest—what Facebook uses to test all JS code and React applications—is relatively easy to understand.

3. Increases Talent Pool

This is the part I'm the most excited about. With React Native, developers can build mobile apps using JavaScript. JavaScript is ubiquitous for front-end engineers and relatively easy for back-end engineers to pick up. This opens up the door for more front-end engineers to try their hand at mobile development for the first time.

Subsequently, talent requests for React Native app developers have increased by 18.1% between 2016 and 2017 (Toptal via Software Development Times). This means more work opportunities for developers and a larger pool of talented developers to choose from.

As a newer technology, React Native isn’t perfect. But even with minor challenges and limitations, the positives far outweigh any negatives.

React Native in Action

Recently at Perfect Sense, we saw the benefits of React Native while developing a mobile application for an outdoor company. Our work on this app kicked off with iOS development. Once that was complete, React Native compiled the codebase, enabling us to begin development on the Android version of the app at 80% complete. Because we chose to use React Native, the entire project took us one-third of the time it should have.

Both versions of the app are powered by our next-gen content management engine, Brightspot. With Brightspot, internal stakeholders can publish content one time from a single-authoring tool and have it automatically publish on both versions of the app. Brightspot serves a data API that is easily consumed by React Native.

What the Future Holds

Google announced in February 2018 that its new mobile UI framework Flutter is now in beta. While it’s too soon to know which framework will win out as the better option, it’s clear mobile UI frameworks such as these are the future of mobile application development, as we continue to move toward creating apps as quickly as they can be dreamed up.

About the Author
Trey Eckels
Trey Eckels is a principal software engineer at Perfect Sense, where he has worked with customers such as the Coleman Company. Passionate about the mobile web and big data, Trey is currently working on the Brightspot CMS user experience. Prior to joining Perfect Sense, he was a full-stack software engineer for LinkedIn and Google.
bicycle for form