5 benefits of React Native or why you should go cross-platform, not native

React Native. A technology that allows the building of mobile applications using only JavaScript. According to StackOverflow’s 2020 Developer Survey, RN beats other cross-platform frameworks such as Google’s Flutter, Microsoft’s Xamarin or Adobe’s Cordova, by a mile.

And not without a reason. Sure, just like any other solution out there, it has its flaws, but the benefits outweigh them in the majority of uses cases, thus making it versatile for most startups.

To support my claim about the benefits of RN, let's first look at some examples. Here’s a few of hugely successful applications that use React Native in their code. You have most likely used at least one of them, perhaps installed on your phone right now.

Source: AppBrain

Today, let's focus on some of those benefits that RN provides.

Benefit #1: Rapid development and maintenance

It is no surprise that cross-platform development is faster that native, considering that you essentially develop 2 or more applications by writing a shared codebase. In some cases, apps can share as much as up to 99% of their code between the most commonly developed Android and iOS applications. Which, especially for startups, could be a tremendous advantage both time- and budget-wise.

You no longer need to decide whether to start with an iOS or an Android app, since you can start with either and then release the second platform in a matter of weeks. That’s what happened with bussr, one of the clients we developed an Android app for. After the MVP finally went live, we were then able to deploye the iOS version within 2 weeks, which wouldn’t have been possible had they decided to develop Kotlin app for Android instead of RN.

A couple of bussr screens

What makes it even better is React Native’s Over-The-Air (OTA) updates support, which means that if you decided to change something in your application, it could be done without the need to prompt your current users to download an update. The update will instead be deployed in the background and the next time the user opens the app, it will be automatically updated without his knowledge (well, besides him seeing the changes).

Benefit #2: Great mobile performance

When React Native was initially released, many companies didn’t want to switch from native development to the cross-platform due to the vast differences in performance. And that was true in most cases for a few of years, yes. But, as the time went on and React Native was matured, not without constant help of its creators at Facebook and a fantastically dedicated community, it became a powerhouse that not only matches the performance of its native counterparts, but sometimes even surpasses them.

What’s also very important to mention is that React Native can easily handle complex applications. Facebook mobile apps, for example, use RN on as many as 750+ screens, Wix on 650+ screens while also showing an extremely low number of crashes, in Wix’s case, only ~0.2% crash rate.

Benefit #3: Can be combined with native code

Developing with React Native is not limited to building separate applications too. Many companies combine it with native code to augment the existing experience for its current users without the need to rebuild already functional mobile applications. Often, companies start re-writing their application from native to cross-platform technology by changing their application piece by piece. And sometimes, companies like Facebook, use React Native to simply enhance their native application with screens written in RN that bring together the best of both worlds.

An example Instagram screen re-written using React Native / Source: Instagram

It also works in reverse. You can build a React Native application and augment it with native functionality using native code should such a need arise. For instance, if you decide to implement some heavy AR features, there’s a high chance that native solutions provided by Apple of Google will perform better. In this situation, just simple build that functionality into your React Native application and voilà.

Benefit #4: Community-driven

The developers' community is a very powerful one. Mainly because quite often, if you’re having an issue with something code-wide, someone probably already had that issue before you. It is often memed that developers just copy-paste already written code from StackOverflow and voilà, their job’s done. Obviously, it’s not entirely true. But then, it’s not entirely false either!

One creator can only do so much with his technology and that’s why the majority of the most popular tech is open source. This provides an unlimited potential for the technology to keep developing and cover as many use cases as well as edge cases as possible.

JavaScript's community has been extremely helpful in the development of the technology in general and React Native's community isn’t an exception. Powered by Facebook and backed by thousands if not millions of active supporters, the framework matured over the past 6 years to become the versatile technology it is now.

From the business perspective, the community-driven nature of RN provides you as a startup owner with countless opportunities to save time and money when developing your product. Sure, you won’t be able to cover the entirety of your development by simply using already crafted solutions (although I think it is possible), writing every single feature from scratch wouldn't be wise too.

Benefit #5: Powered by Facebook, used by many big players

Now, during my career in sales, I had a chance to speak to many founders who were either sceptical or afraid of using new technology like RN due to their perception that if it’s new, it cannot be as good as its counterparts. And while it was true to some extent a few years back, nowadays, I think it has managed to prove itself on countless battlefields.

And what’s the better way to back my words than a dose of social proof?

Yes, we already know that it is developed and backed by Facebook, but many companies develop their own internal tools. That doesn’t mean those tools are good for anybody else, right?

Yes, to a degree.

In the case of React Native, the technology is used and praised by many well-known brands. Here are a few:

Walmart

It is very unlikely that you’ve never heard of Walmart. Nearly $560 billion of revenue in FY 2021, more than 11 thousand bricks-and-mortar stores. Definitely not a solo-founder startups and yet in 2017 they decided to give React Native a chance. 2 years later, about 90% of their Grocery App was based on RN. More about their transition on their blog.

Discord

Previously known mostly in gaming communities, Discord blew up to be a platform used by many online communities and has been written using React and React Native since the get-go. They provided their perspective on this decision in one of the blog posts here.

Discord's React Native app / Source: Discord

Coinbase

Lately the crypto is going through the roof, all kinds of roofs, to be fair, and Coinbase is one of the largest platforms that help facilitate the crypto exchange. Like many before them, they started by simply re-writing a single functionality within an already existing application using React Native... only to then re-write the whole thing.

Epilogue

I could go on providing examples but that would take a couple more pages, so if you’re interested to learn more, you can check out my article with in-depth descriptions of a dozen more companies.

To sum up, React Native can be incredibly beneficial for the startups that need to build a functional cross-platform mobile application and don’t have either time or resources to waste on developing separate native apps.

If you’re not sure whether RN is fit for your specific case, feel free to drop me a line at ross@softwarebrothers.co and I’ll be happy to assist you.