React Native - Why The Framework Is Out Now From Airbnb? Top Reasons!

Alka Singh
Alka Singh, Technical Writer and Content Strategist at OnGraph Technologies Private Limited
Published on Apr 03, 2019 in Cross Platform Developers Resources
React Native -  Why The Framework Is Out Now From Airbnb? Top Reasons!

In 2016, Airbnb made a big bet on React Native. 2016 was the year when the travel giant thought to make the business available within the hands of its users since smartphones were everywhere. The company recognized the importance of mobile usage and the changing needs of its users. To keep up with the accelerated pace of mobile search and bookings which were happening in millions per year, Airbnb expanded its development team with an aim to provide new experiences and improve existing ones.

They Bet On ReactNative

The primary reason they bet on React Native back then because the front-end of the website is developed using 'React.' Developers at Airbnb are highly comfortable with React, thus they bet on React Native to launch the mobile platform of their business.

The Goals They Set With Remote React Native Team

  1. Move faster as an organization.
  2. Deliver Quality On Mobile Like Native.
  3. Write Code Once And Leverage It On Both Platforms.
  4. Increase Developer Experience.

To meet with the initial goals, the team at Airbnb locked down React Native with the mindset to leverage the experience and skills of their web development team in mobile application development. Within a few months, they were ready to launch some sets of app components build using React Native to support their iOS and Android native apps.

As we all know, 95% of the codebase written in React Native is possible to share on both iOS and Android platforms, the cross-platform just helped Airbnb meet their initial goals successfully. React Native surge up the mobile app development cycle and investments were made to develop, support and build infrastructure for the 800,000-line mobile codebase.

Note: Interestingly, since starting, Airbnb knew the risks involved back then with React Native. They knew the framework is entirely new and is a fast-moving technology. They also knew the platform is unproven and could fragment the codebase instead of unifying it.

The Experience of Using React Native In Developing Mobile Version of Airbnb

With this amazing cross-platform framework, remote react native developers at Airbnb built and integrated several complex native features right from shared element transitions, geofencing, parallax as well as bridges. The company introduced Experiences - one of the critical products of Airbnb using React Native. They build many dozens other feature with cross-platform at times when they had not sufficient native developers on board.

Airbnb and team found React Native Application Development revolutionary. They also agreed that the cross-platform framework brought a paradigm shift to mobile. The California based travel giant has achieved many benefits, but that comes with significant pain points.

Here Are The Cases When React Native Gel Well With Mobile Apps

  1. Cross-Platform
  2. Unified Design Language System (DLS)
  3. React - Components, simplified Lifecycles and declarative
  4. Iteration speed
  5. Investing in Infrastructure
  6. Performance
  7. Redux
  8. Backed by Native
  9. Static Analysis
  10. Animations
  11. Flexbox
  12. JS/React Open Source
  13. Collaboration with Web

Scenarios When React Native Brought Pain To Deal With

  1. React Native Immaturity
  2. Maintaining a Fork of React Native
  3. JavaScript Tooling
  4. JavaScript Tooling
  5. JavaScriptCore inconsistencies
  6. React Native Open Source Libraries
  7. Parallel Infrastructure and Feature Work
  8. Crash Monitoring
  9. Native Bridge
  10. Initialization Time
  11. Initial Render Time
  12. App Size
  13. 64 - bit
  14. Gestures
  15. Long Lists
  16. Upgrading React Native
  17. Accessibility
  18. Troublesome Crashes
  19. SavedInstanceState Across Processes on Android

Airbnb achieved the initial targets like rapid development and platform agnosticism with the best React Native development services. The online travel company reaped all the advantages it could from the entire development team to build and support their mobile apps. Still, there were more struggles that the company decided to move out from React Native.

According to the article written by Gabriel Peal, these are the top reasons Airbnb decided to move off to React Native by 2019.

1) 0 To 1 Is Also A Major Investment

There is a big misconception about Airbnb mobile application. It is that Airbnb turned into 100% React Native. But the reality is that even to this day the React Native has 15-20% of codebases and developer resources. The cross-platform has never been a majority platform for the company.

Though the framework helps the company massively and vastly simplifies mobile development, but the framework doesn't support to get up and dash, especially if you have an existing Codebase. Expect to put a substantial amount of time as well as energy to integrate React Native into the existing mobile codebase.

2) Native Code Still Required To Be Written

React Native proved best for simple apps where APIs easily enable bridge between two platforms. Back then during the initial days in Airbnb, the platform was a great accelerator. They started with simpler tools for the mobile app. Sooner APIs didn't do well as expected, and developers had to dive in native libraries to achieve the desired results.

The scenarios where native bridge required to be written include networking stack, experimentation, internationalization, deep links, navigation, and advance map features.

3) Beware of Landmines

Garbriel warns of Landmines or interactions. He quoted that in the code landmines are challenging to track down and reproduce. For example, React Native components rendering all white on some devices. The bug was not just unreliable but difficult to track down.

To cope up with the bug, Airbnb turn off initializing Fresco. Fresco is an image rendering library of React Native for Android. To this day, developers in Airbnb still not find how turning off Fresco fixed the bug. Using landmines was stretching simple tasks into weeks-long hunts.

4) Investment is never-ending and slow

Initially, React Native Developers prototype small components with React Native and quickly believe the cross-platform is the solution of their needs. Just like other open-source platforms, the framework was ever-changing with new bugs and issues discovered daily. It leads to continuous investments for supporting the volatile landscape of the React Native ecosystem.

For example, developers in Airbnb wanted to work on React Native as quickly as possible to achieve product goals. Later on, they realized React Native development lifecycle helps them push out a release only every four weeks.

In that case, if they timed their fix wrong, they had to wait almost a month to see the React Native framework could adopt changes. The speed of development for the company wants to achieve looked not possible; thus Airbnb could not stick with the cross-platform longer.

Final Thoughts

As the drawbacks outweighed the benefits, it leads Airbnb to re-think about the stack choices for developing mobile apps. Through React Native codes are still used to support the app, Airbnb plans to shut down cross-platform app development by early 2019 completely.

Find more top mobile app developers worldwide on AppFutura.

Looking for an app or software development company?

You can post a project on AppFutura for free and explain your needs for app or software development. You will receive quotes from qualified companies and will be able to hire the best candidate through a safe payment system.

Post a project

About the author
Alka SinghTechnical Writer and Content Strategist at OnGraph Technologies Private Limited

Alka Singh a Technical Writer and Content Strategist. She has 7 years of experience working in different industries such as IT/Software, Digital Marketing, B2B and B2C. Her latest interest includes emerging technologies like Chatbot, voice-bot, RPA, ...

You might also like