TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Why did Airbnb dump React Native? (2021)

116 pointsby aabbcc1241almost 3 years ago

22 comments

sandofskyalmost 3 years ago
It looks like the author has zero connection to AirBnB and is entirely speculating on what went down based on what the company themselves wrote. You&#x27;re much better off just reading AirBnB&#x27;s own long, detailed series on what happened: <a href="https:&#x2F;&#x2F;medium.com&#x2F;airbnb-engineering&#x2F;sunsetting-react-native-1868ba28e30a" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;airbnb-engineering&#x2F;sunsetting-react-nativ...</a><p>That said, I find it perfectly represents about 90% of React Native evangelism: someone who has never shipped an app copying and pasting talking points to shill their YouTube channel.
评论 #32487980 未加载
评论 #32491135 未加载
enraalmost 3 years ago
This is very inaccurate in many aspects, not sure if actually anything accurate in this except the fact that Airbnb did use and eventually dumped RN (source: I worked at Airbnb 2015-2019 on the platform team).<p>As others have linked, Airbnb actually did write a summary about this.<p>Basically what went down: For years Airbnb had actually pretty strong native mobile engineering both on iOS and Android (some of the best engineers I’ve worked with) there was no issue investing more in to it. The had the resources, platforms were working well.<p>The main challenge however was that anything the company needed to launch, needed to be built on 3 platforms at the same time (4 if you count tablet). Timelines were often tight which made the overall coordination between the platforms tough.<p>One the main examples of this was when 2015-2016 team I was part of basically redesigned and rebuilt the mobile apps, and created a design system&#x2F;component&#x2F;layout library at the same time for each platform. It was a huge effort.<p>At the same time, there was one guy basically hacking on React Native and ended he built the whole component system by himself in few weeks, compared to the months it took in native platforms. This was obviously impressive and company decided to experiment if we could use RN more to speed up development. I think the idea was never to fully replace the native platforms or even core flows, but there were lot of random flows and screens in guest and host apps which only minority of the users see.<p>So 2016-2019 there was a core team working on a RN adoption, and different people and teams used it in different projects. There were some technical issues at times with performance and navigation that got eventually solved.<p>However where it all came down was there wasn’t that much adoption and there wasn’t clear group who would actually use RN. Mobile engineers didn’t want to write RN code and web engineers didn’t want to build on mobile. RN also requires understanding of the native platforms, and if the point is build both for iOS and Android, then you need to understand both platforms which is a rare skill set.<p>So in the end it was just more complicated than it was worth.<p>I think new company&#x2F;product can build the team and culture around RN will have better success.<p>I’d still think if it’s the right choice given what you are building. No matter how good you are I think the RN&#x2F;Flutter apps can be ok it’s really hard to make them feel fully native.
评论 #32491679 未加载
评论 #32490859 未加载
评论 #32490902 未加载
评论 #32492572 未加载
评论 #32491490 未加载
Apocryphonalmost 3 years ago
Airbnb switched away from React Native at a time when a lot of other high-profile companies did as well and wrote technical blog articles about it. Discord was one of the few dissenters:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17619609" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17619609</a><p>Looks like they&#x27;re doubling-down further still:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=32310392" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=32310392</a><p>Looks like Shopify also picked up RN:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22181873" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22181873</a>
评论 #32487527 未加载
评论 #32486619 未加载
评论 #32490447 未加载
ram_raralmost 3 years ago
Its a bit disingenuous of the author, who didn&#x27;t even work @ AirBnb to speculate about their tech decisions. While not citing AirBnBs blog (<a href="https:&#x2F;&#x2F;medium.com&#x2F;airbnb-engineering&#x2F;sunsetting-react-native-1868ba28e30a" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;airbnb-engineering&#x2F;sunsetting-react-nativ...</a>) on sunsetting react native.
blkhp19almost 3 years ago
Weird to see this poorly-written blog post make it to the front page. It misses so many details that the official blog post includes <a href="https:&#x2F;&#x2F;medium.com&#x2F;airbnb-engineering&#x2F;react-native-at-airbnb-f95aa460be1c" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;airbnb-engineering&#x2F;react-native-at-airbnb...</a>
评论 #32487843 未加载
评论 #32490603 未加载
geuisalmost 3 years ago
Right near the beginning:<p>&gt; Till the year 2012, Airbnb was just a React website.<p>React wasn&#x27;t released until 2013.
评论 #32485582 未加载
评论 #32490559 未加载
woodyseealmost 3 years ago
&gt; Till the year 2012, Airbnb was just a React website<p>I stopped reading after this.<p>Websites released in 2012 were typically PHP, server-rendered, written with jQuery. Angular JS was considered cutting edge and go-to option for SPA projects. React was released later and only popularised around 2017-2018, and even at that time I remember most frontend developers were hesitant to use it in production due to the licensing ambiguity at that time (It wasn&#x27;t MIT).
评论 #32494221 未加载
评论 #32492780 未加载
ajkjkalmost 3 years ago
Weird title. The correct English would be &quot;Why did Airbnb dump React Native?&quot;. All of the sub-headings have this strange construction as well. Is this &#x27;correct&#x27; in some other country and I&#x27;m just not aware of it?<p>I was gonna say, it&#x27;s also weird because the text of the article seems nearly-native quality.. but actually when I went back and looked more closely it&#x27;s semi-broken English as well. I guess it&#x27;s in big wordy paragraphs that you skim and don&#x27;t notice the grammar of.
评论 #32486537 未加载
评论 #32486536 未加载
评论 #32486846 未加载
评论 #32486533 未加载
评论 #32486437 未加载
detaroalmost 3 years ago
This seems to mostly rephrase things from Airbnbs engineering blog at the time? <a href="https:&#x2F;&#x2F;medium.com&#x2F;airbnb-engineering&#x2F;react-native-at-airbnb-f95aa460be1c" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;airbnb-engineering&#x2F;react-native-at-airbnb...</a> (part 1 of 5)
评论 #32486643 未加载
hunterb123almost 3 years ago
Seems strange to write an article about why they switched without mentioning one of the main technical reasons Airbnb said themselves:<p>&gt; Many of the difficulties we encountered were due to the hybrid model approach we took<p>They had about 220 screens in RN, 880 native screens total. They found it difficult to juggle that, essentially developing 3 platforms instead of 2.<p>Personally I prefer to do pure RN, with native extensions. Not a lot of native screens, because yes, you then are developing your targets plus RN.<p>Also keep in mind they were early adopters and they probably had to do a lot of heavy lifting. RN has matured a lot since then, both thanks to Airbnb and to the rest of the community.
评论 #32485752 未加载
dangalmost 3 years ago
Related:<p><i>Airbnb Is Moving Off of React Native (2018)</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=23558730" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=23558730</a> - June 2020 (61 comments)<p><i>Airbnb is &#x27;sunsetting&#x27; React Native, reinvesting all efforts back into native</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17365451" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17365451</a> - June 2018 (20 comments)<p><i>React Native at Airbnb</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17348215" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17348215</a> - June 2018 (248 comments)
danielrhodesalmost 3 years ago
Made a relatively complex React Native app last year, and gained a lot of perspective on it.<p>I don&#x27;t think Airbnb made a bad choice at the time they did it. They tried embracing a technology that was at the time half baked. When you are operating at the scale of Airbnb where there are lots of engineering hurdles and a high quality bar, it&#x27;s challenging to absorb nascent tech.<p>Since then a couple things have happened:<p>- Devices have gotten much faster and this has covered up a nice chunk of the performance tax that existed previously<p>- The framework has gotten more mature and performant<p>Having said that, there are still a number of rough patches so it really depends on what you need. Shopify, for example, seems to be quite happy with it. But as usual, it depends on what you&#x27;re making. If you want something with heavy animations, lots of gestures &#x2F; high touch responsiveness, really fast startup time, etc. - RN might not be the best choice (but still way better than it was before because of lots of great work). If you&#x27;re creating something that is more on the CRUD side, RN is more than suitable and a great choice.
评论 #32486593 未加载
seifertericalmost 3 years ago
I am not a front end developer, but when reading about these kinds of switches in front end frameworks... isn&#x27;t that an incredible amount of work? How could it be justified? It must have created some really serious unsolvable problems in order to switch right? You would think it would be easier to improve the existing one instead of switching, but who knows. Either that or the amount of front end code really isn&#x27;t as much as I imagine.
评论 #32485989 未加载
评论 #32490044 未加载
DanielHBalmost 3 years ago
Most of these stories of companies dumping react native are from apps that didn&#x27;t start out as react native. Adding react native to an existing app and organisation is MUCH harder than using react-native or full-native from scratch<p>Not only on the engineering aspects, but on the people as well. You will have a lot of attrition with devs not wanting to switch<p>I would say that the only 100% safe way to succeed in this endeavour is to fire ALL your native developers and rewrite the app from scratch instead of introducing RN gradually. Obviously that is impossible for any app that is already big<p>So unless you are willing to do a full rewrite and fire all your native developers and hire some people with RN knowledge (you need at least a few people with RN specific knowledge even if you have web-only devs) you will most likely fail<p>Also if you DO want to share code between your RN apps and your web app that is ALSO somewhat harder and might need significant rewrites of your web codebase<p>So in short, DONT DO IT, it is very unlikely you have the in-house experience and political will within your company to pull it off
DanielHBalmost 3 years ago
I have personally made an ios+android react native app that used native maps functionality (google maps from google cloud services in android and apple maps in ios). Not even using expo all the app was 100% react native EXCEPT the maps it was a bit awkward, but not really a HUGE issue (note this was in 2016, it seems it is easier now to integrate native code and expo today exposes a lot more functionality without needing native code). The main problem is that, for the very specific parts you need to do native you do need native developers (I did the android native part as I was a bit experienced with android native, but we had to get help for the ios part)<p>Honestly the hard part was making ios and android maps feature-compatible. We wanted heatmaps and apple maps and google maps have completely different algorithms to render heatmaps
forlornalmost 3 years ago
&gt; Now, one resort for them would be to use Airbnb’s web application on the web browsers of their phones, which doesn’t make much sense.<p>I never understood why one needs 20 separate apps (100 Mb each) instead of just using a single standard pre-installed web browser. Mobile UI everywhere is fine and functionality is the same.
评论 #32492484 未加载
kbcoolalmost 3 years ago
Did they actually dump it in the end though or just announce it?<p>Appbrain still lists React Native in the list of SDKs for the current version.<p><a href="https:&#x2F;&#x2F;www.appbrain.com&#x2F;app&#x2F;airbnb&#x2F;com.airbnb.android" rel="nofollow">https:&#x2F;&#x2F;www.appbrain.com&#x2F;app&#x2F;airbnb&#x2F;com.airbnb.android</a><p>Seems if it was all that bad it would be gone by now.
wly_cdgralmost 3 years ago
TL;DR:<p>* React Native caused problems for AirBnB because they needed more complete and efficient support for native geolocation&#x2F;mapping features than RN provides<p>* More generally, frameworks like RN and Flutter are a good choice if your app doesn&#x27;t need extensive&#x2F;precise&#x2F;efficient access to native platform features and a bad choice if it does
评论 #32486369 未加载
评论 #32521616 未加载
评论 #32491042 未加载
spoonjimalmost 3 years ago
When your company is making billions of dollars a year from mobile apps it makes sense to have native teams. React Native is for development efforts with fewer resources.
contentbootalmost 3 years ago
<i>cough</i> <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=32487190" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=32487190</a>
Traubenfuchsalmost 3 years ago
&gt; Now, one resort for them would be to use Airbnb’s web application on the web browsers of their phones, which doesn’t make much sense.<p>Why?<p>A proper web app would be sufficient.
LAC-Techalmost 3 years ago
I don&#x27;t mean to be too edgy here, but it has to be said.<p>Why does anyone care what technology AirBnB uses for their mobile apps or websites?<p>AirBnB is an incredibly successful company because of their marketing, ability to scale, and the fact they offered the right thing at the right time.<p>Their website however, is slow and clunky. Their apps are slow and clunky.<p>What about that side of their company is worth emulating?
评论 #32490407 未加载