React Native is the cross-platform mobile app technology everyone’s talking about. It has become so widely used that, for example, over 14% of the top 500 Google Play Store (U.S.) app installs contain the framework, including giants like Instagram, Messenger and Uber [SRC]. Furthermore, Play Store’s Best app of 2018, Drops, is built with React Native [SRC].
At Qvik, we have worked with React Native for the past 3 years. We’ve seen virtually everything that’s possible to do with React Native, from spearheading Apple Pay in Finland to voice synchronizing with live TV broadcasts. Regardless, I’ll just lay down the data and try to avoid too much bias. ‘Cause results are what really matter.
Many big players have put their chips on the table for React Native, yet some have already folded. In the most prominent example, AirBnB sunset React Native after having spent two full years integrating it into their mobile app. Despite a largely positive experience with the framework, the added upkeep ended up being too much for a now-fragmented team [SRC]. React Native wasn’t perfect for AirBnB, but that doesn’t mean it couldn’t be for you.
What’s better with React Native
React Native’s unique selling point is attractive: write code once and ship it for both Android and iOS, fully native. In a typical case, based on our experience‚ over 98% of the code is shared between iOS and Android. React Native isn’t the first to accomplish this, though. Frameworks like Xamarin and Cordova are years ahead, and Google’s Flutter has recently entered the scene to offer a worthy challenge. However, most competing technologies lack versatility, performance, ease of adaptation or community.
Benefits, if it fits
React Native is powerful. In most cases, it takes less development work than programming two separate native apps, especially for the initial release. What’s more, it’s easier to maintain and synchronize a single codebase between the two platforms.
A potent synergy between respectable mobile app and web development is finally there. That’s why we have witnessed the birth of “React only” consultancies and internal development strategies. It simply works.
Pitfalls, if it falls
While React Native can produce the same functionality for Android and iOS, the actual outcome might not match Apple’s or Google’s design guidelines to the last pixel. The framework is also one step behind in supporting new native features.
Yay or nay
Like any other technology, React Native is not a universal solution. It’s not the right choice for all cases. Here’s our carefully brewed formula for making the right decision.
Use React Native, but think twice whether…
You care about following OS design guidelines exactly.
You plan on doing cutting-edge native level stuff.
You want to incorporate React Native into an existing app.
Your team lacks either React or native mobile experience.
You want to make an app for something else than smartphones or tablets.
Your team is motivated for it.
We at Qvik continue to invest in React Native – and React as well – as it has survived the acid test of production and proven itself both powerful and efficient. Perhaps you should give it a go, too!
Illustration: Aija Malmioja