Sunsetting React Native
Article Summary
Gabriel Peal from Airbnb shares why they walked away from React Native after 2 years and 80,000 lines of code. The decision wasn't what you'd expect.
In 2018, Airbnb made waves by sunsetting React Native across their entire mobile platform. This candid post-mortem reveals the technical and organizational challenges that led a major tech company to abandon cross-platform development despite 60% of engineers rating their experience as 'amazing.'
Key Takeaways
- 220 React Native screens built, but only small percentage of total app
- Supporting three platforms instead of two due to bridging infrastructure
- Debugging and async rendering made quality bar difficult to maintain
- 63% would choose React Native again despite the sunset decision
- Hybrid model at scale created unique challenges smaller companies may not face
Airbnb's React Native experiment succeeded technically in many ways but failed organizationally at their scale, leading them to reinvest fully in native development.
About This Article
Airbnb's engineers wrote 80,000 lines of React Native product code across 220 screens. But that was just a small part of their app. They needed another 40,000 lines of JavaScript infrastructure to handle bridging between platforms.
Gabriel Peal's team built custom solutions to tackle initialization delays and async-first rendering issues. They created shared element transitions and parallax effects from scratch. Resource constraints meant they couldn't fully solve everything.
74% of engineers said they'd consider React Native for new projects. Yet Airbnb stopped building new React Native features and moved most of their highest-trafficked screens back to native code by the end of 2018. They planned to phase out support entirely by 2019.