Airbnb is Dropping React Native — Should You Too?

Disclaimer - I have nothing to gain from promoting React Native. I don't even use Facebook. As an engineer, I just like the technology :D
  1. Framework Immaturity —Since React Native is a new framework, Airbnb was in the position to having to invest significantly in the technology itself in order to build their own apps. They often were doing “simultaneous infrastructure and feature development”. They even had to maintain their own fork of React Native to make contributions, and avoid disruptive fast-paced changes.
  2. Dynamically Typed — JavaScript is, of course, dynamically typed which makes refactoring a “nightmare”. And solutions for becoming statically typed like Flow and TypeScript had their own problems (Flow: “cryptic error messages”, TypeScript: significant switching costs).
  3. Inconsistencies Between iOS and Android — Although React Native should be consistent across both native platforms, some tiny details are still being worked out, e.g. some differences in JavaScriptCore that runs the darn thing. And third party libraries generally lean towards supporting one environment better than another, leaving one having a sub-par experience and Airbnb having to make up the difference.
  4. Three Environment Expertise — Instead of writing the code once, engineers actually had to maintain three environments: React.js, Android, and iOS. And write and then debug in all three. **Christ on a BIKE this sounds annoying**.
  1. Move Faster — The feeling of developing in React is that you are going fast. And they might still have been moving faster, but when Airbnb looked at the end-to-end commitments they were making the increase in speed was not enough to outweigh other shortcomings.
  2. Maintain the Quality Bar — The quality bar was maintained, but at the high cost of developing React Native and investing a lot into infrastructural development.
  3. Write Code Once Instead of Twice — because they were writing React, iOS and Android code as well as infrastructure code, they were actually writing code three or four times!
  4. Improve the Developer Experience — developers had to maintain a full Xcode, Android, and web development environment and debug in all three. With JavaScript not being easily strictly typed on top of everything, engineers were feeling stretched.

So What About Your Team?

So should your team drop React Native? Starting a new rocket ship startup — should you use React Native?

Go Native

  1. Are you rich & huge?
  2. Is your mobile experience unconventional?
Go Native, like Johnny Depp… or not…

Go React Native

  1. Are you small & poor?
  2. Is your mobile experience relatively conventional?
Here’s the Android view
Mobile experience needs to be a 10-out-of-10



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store


Educator, Founder, Engineer. Interested in Evidence Based Education and Solving BIG Problems.