Is React Native Doomed? Two Development Teams Speak Out

React Native has never been more popular or useful. Its core language, JavaScript, tops the language popularity ranking on Stack Overflow’s latest developer survey, and React is among the most desirable frameworks. So why are notable apps ditching React Native altogether?

Last month, the engineering team at Airbnb penned a four-part blog series on its experience with React Native. Noting its teams were able to work at “unparalleled speed” when React Native “worked as intended,” it nonetheless chose to drop React Native:

When everything came together, which it did for many features, the iteration speed, quality, and developer experience matched or surpassed all of our goals and expectations. At times, it really felt like we were on the verge of changing the game for mobile development. Even though these experiences were highly encouraging, when we balanced the positives against the pain points plus the current needs and resources of our Engineering organization, we decided that it wasn’t right for us anymore.

The entire four-part series is worth a read, and the points made are backed up by Udacity. Though Udacity offers a React Nanodegree program, it seems React Native is not a good fit for the Udacity apps. Continual integration across platforms is a reported pain-point, exacerbated by the size of each app’s feature set.

React Native has a huge JavaScript library ecosystem to tap into, but as Udacity notes, it’s not always useful. A good example is the iPhone X; to ‘embrace the notch,’ developers must adhere to a ‘safe area’ on-screen. This helps text and displayed content from being hidden by the notch, but there’s no direct JavaScript library to address the issue. It’s a feature that’s straightforward to implement in Swift, but problematic with cross-platform frameworks like React.

Native tooling is its own concern; security is another. Google is now requiring Android app developers to support recent APIs that have stronger security features. That’s exactly the sort of thing far simpler to execute when an app is written in native languages (i.e., Java or Kotlin for Android).

There are also deep control issues to consider. APIs related to security are obviously critical, but so is the integrity of the App Store and Google Play. Apple has begun culling ‘white label’ apps from the App Store, with an addendum to its guidelines noting: “Apps created from a commercialized template or app generation service will be rejected.” As a result, developers are shipping fewer titles.

A likely reason is the tooling and services used by ‘out of scope’ apps. Services that allow people to drag-and-drop visual elements to create their own apps contributed to a densely packed App Store, and made it very hard for quality apps built by knowledgeable developers to stand out.

React Native may not be ‘doomed’ per se, but it’s not the silver bullet solution many developers hoped for. If you’re experienced in JavaScript and have an idea for a fairly simple mobile app, React Native is a good option. Still, as Airbnb and Udacity prove, true native apps will always be the best choice.

One Response to “Is React Native Doomed? Two Development Teams Speak Out”

  1. Steven Hines

    So long as iOS and Android continue to evolve along with the hardware on which they run, the volatility in these cross platform frameworks will persist. In my view its better to develop natively regardless of which of these cross platform tools you use, for any non trivial app you’ll eventually have to reach down into the native code to fix something or add feature that’s not practical to do within the framework.

    That said, React, Ionic, Flutter, etc have their place in enterprises as solutions for narrowly scoped, relatively short-lived mobile solution; where if a mobile solution becomes mission critical it can be transitioned to a native app.

    Another point to consider with regard to React specifically, is Facebook’s future viability. As they continue taking a partisan approach to meddling in politics and information dissemination, people will continue turning to other social media platforms and governments will seek to reduce its influence (e.g., Elizabeth Warren suggested breaking up Facebook and Google). Without Facebook backing how much would the React Native ecosystem rate of evolution slow?