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
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
Scenarios When React Native Brought Pain To Deal With
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.
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.