What is making Airbnb move away from React Native?
Airbnb had been intensively using React Native to embellish the mobile app development since 2016. However, after two years of use, Airbnb decided to drop React Native in 2018 for a number of shortcomings in their technical and personal goals. So what really is making Airbnb move away from React Native, and how has it been using the framework previously, read along to find out.
Why Airbnb used React Native
Since its beginning in 2008, Airbnb had been using the web for reaching out to the public. The website was initially named airbedandbreakfast, which was shortened later in 2009. With the steady rise in web traffic even on mobile, Airbnb sensed the need to capitalize more on the mobile development, through an app. This was in 2012, and Airbnb took almost 4 years to develop mobile applications for both iOS and Android.
In 2016, the landscape had majorly shifted towards mobile and Airbnb had to keep up with the demands, and React Native was also launched in the same year. The developers who were already using React for web development at Airbnb adopted React Native to strengthen existing development processes. Rightly so, Airbnb was able to accelerate the mobile development at a significant pace.
Advantages of using React Native
The most important advantage of using React Native for Airbnb was the rapid development that it provided to the mobile platform. Moreover, the developers could be anchored based on their existing coding knowledge and freshly recruited talent could be well-trained regardless of the technical background. React Native also provided efficient cross-platform support for both iOS and Android.
Since everything was backed with Native code, it also helped in building shared element transitions and networking stacks. The performance was smooth and there was access to a wide range of libraries, being open-source. It also facilitated multiple animations including the interaction-driven ones.
Why Airbnb moved away
- Still a growing network
For creating an app for itself, Airbnb had to create major funding on the tech end. This was because of React Native’s immature framework. To contribute and prevent dramatic rapid changes, Airbnb had to create its own version of React Native. Another area of confusion was an irregularity in the release of frequent updates, which can be frustrating for developers at times. This is due to the fact that any time a new update is issued, the programmers must make several adjustments and modify the program on a regular basis.
- Limited code
React Native was limited to only 15 to 20 percent of the total mobile code and was not the framework being used entirely for development. Its role was to add visually appealing components for the users, which could not keep up with the dynamics.
- Instabilities and errors
Some of the common instabilities and errors that can be listed when using React Native are failures in hot reloading, reinstallation of packages, navigation, and a few others. Other than that, the developers are required to develop 3 different codebases for React.js, iOS, and Android, each of which has to be written and debugged separately.
- Lack of Resolute developers
Airbnb did not have a large number of skilled Android and iOS developers, but many full-stack/web developers. When they ran into problems while implementing more powerful functions to their React Native applications, they had to rely on engineers from certain units who were familiar with native programming languages.
- ‘Landmines’
There’s an issue that the React team refers to as “land mines,” which are troublesome places, the sources of which are unknown. It’s difficult to tell if the issue was caused by their Javascript code, reusable components produced for React Native, or native Android/IOS code. Consequently, debugging these issues in several different settings is incredibly difficult.
- Endless investment
A further disadvantage of React Native is that this is an ongoing investment. React Native is still immature developing at a fast rate. It still has many internal issues, and Facebook is striving diligently each day to improve it.
How goals of Airbnb were affected
Airbnb was aiming for rapid mobile development, which React Native was even providing, but it could not cope up with the larger number of shortcomings. The standard of Airbnb was being maintained at the cost of extravagant time and development efforts. Even the code had to be written thrice or sometimes even more.
Writing different codes also meant repetitive debugging, which was very exhausting and time-consuming for developers. The technical failures affected Airbnb’s personal growth goals and Airbnb ultimately decided to drop React Native in 2018.
Conclusion
React Native is a fast and reliable open-source library but is still in its development phase. For the time it was used, there were remarkable developments in the growth and the user interface was also designed efficiently. Some of the additional features were also drawn out of React Native itself. The ever-growing demands of the tech sector urged Airbnb to move away from React Native for its mobile development processes, and look for advanced alternatives.