Live data from Hacker News

Why did Airbnb dump React Native? (2021)

theimmigrantprogrammers.com

111–120 of 136 posts

Re: Why did Airbnb dump React Native? (2021)

#111
post #52

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). As others have linked, Airbnb actually did write a summary about this. Basically what went down: For years Airbnb had actually pretty strong native mobile engineering both on iOS and Android (some of the best e…

I have never seen cross-platform UI that would work and/or look close enough to native. It has always been classic "choose any two": cross-platform, UI, great. There were many people who claimed they have achieved all three, but at the close examination all of them, 100% without exception, were missing many little things like standard shortcuts, respecting color preference in user settings, or just couldn't see the d…

I shipped consumer software with Qt in the 2000's. It was nicer to work in than MFC. It looked and worked great on Windows 98/2000/XP. Qt's Windows XP renderer called Windows' own uxtheme.dll to draw everything.

Mac OS X looked a little off, especially the spacing.

Re: Why did Airbnb dump React Native? (2021)

#112
post #90

Earlier quoted context omitted.

Look at the new Discord app. It's significantly slower than previously ever since the switch to react native, and has significantly more hangups. React native works maybe fine if your target device is the highest end iPhone, but if your users are on Android One devices, it's not going to work nearly as well. That's aside from the layouting being obviously off compared to the native layout engines.

It works just fine if you actually profile and see what are the bottlenecks.

I'd love to, sadly it doesn't appear to be open source ;)

I can say from comparing pre-RN and post-RN apps side-by-side on a Nokia 6.2 it's definitely much slower (scrolling immediately drops frames, opening/closing the keyboard and other reflows e.g. multiwindow cause the app to hang for seconds).

Re: Why did Airbnb dump React Native? (2021)

#114

> Till the year 2012, Airbnb was just a React website I stopped reading after this. 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 licensi…

noo, can't have been that late?? i quit my last job in 2018 and we had already been using it for a couple years by then

I helped introduce React at UXPin, and that was in Q4 2015. By that point it had already been broadly hyped for at least a year.

The parent comment is broadly correct though. AirBnB couldn't have been a React website in 2012 if React's initial release was May 29th, 2013.

Re: Why did Airbnb dump React Native? (2021)

#115
post #92

Earlier quoted context omitted.

This is an iOS only perspective, but it sounds like you are not actually looking too hard for iOS developers?. No iOS developer considers Swift antiquated (because it isn't). I'd argue no one even considers UIKit antiquated (middle aged, maybe). Maybe with the exception of brand new iOS developers who has jumped on the SwiftUI-only bandwagon. SwiftUI itself is so new that it barely is production ready. Sounds to me l…

Sorry, just realized most folks associate React Native with mobile. We target that too, but we're mostly targeting desktop platforms (via React Native Windows and React Native macOS) - and in our case antiquated really means antiquated (think old-school custom XML-based UI framework).

How are you finding using RN on desktop? When I last looked into it (more than a year ago) RN Mac felt a bit lacking. There was no way to do drawing of custom paths (eg SVG) for example.

Ended up using react-native-web in an Electron container to make a desktop version of an RN app, which worked surprisingly well.

Re: Why did Airbnb dump React Native? (2021)

#116

> Till the year 2012, Airbnb was just a React website I stopped reading after this. 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 licensi…

I’ve been writing React since 2015 and it was already gaining some decent momentum then

Re: Why did Airbnb dump React Native? (2021)

#118
post #85

Earlier quoted context omitted.

I wouldn’t call Swift (or Kotlin) antiquated. I’m sure it’s easier to hire JavaScript developers to hack on React Native because the talent pool is larger, but I’d wager your app quality will suffer. Depending on the app, sometimes a first class user experience just isn’t a high priority, in which case native-focused developers aren’t going to be attracted to working on it.

>I’d wager your app quality will suffer. I really dislike this argument, and it comes up every time React Native is discussed. I think it's a holdover from Ionic style mobile applications that simply emulated native UI in a webview. It was awful - especially when the native UI changed and the Ionic apps didn't. It's likely you use RN apps every day and don't even notice because they're indistinguishable from native a…

> Kotlin and Swift as DSLs do not need to exist. They are solutions in search of a problem Don't know what your problem is, Kotlin and Swift are both superior to JS

Re: Why did Airbnb dump React Native? (2021)

#119
post #97
post #85

Earlier quoted context omitted.

>I’d wager your app quality will suffer. I really dislike this argument, and it comes up every time React Native is discussed. I think it's a holdover from Ionic style mobile applications that simply emulated native UI in a webview. It was awful - especially when the native UI changed and the Ionic apps didn't. It's likely you use RN apps every day and don't even notice because they're indistinguishable from native a…

> Here's a story from yesterday of how Apple's SwiftUI (their much vaunted successor to UIKit, a very flawed framework itself) is struggling to construct basic settings views in the new version of MacOS: A journalist who is not an iOS developer saying something 'feels wrong' doesn't mean much in terms of quantitative evaluation of SwiftUI. Others have already commented elsewhere on the source material (a list of UX n…

>A journalist who is not an iOS developer saying something 'feels wrong' doesn't mean much in terms of quantitative evaluation of SwiftUI.

Calling John Gruber a "journalist" is reductive. He is the inventor of markdown and has a history as a software engineer himself. He is also one of the most notable people who tracks things that many would consider obscure like Apple UI frameworks.

>I don't understand your reference https://news.ycombinator.com/item?id=32325511

The standard library and API surface of Swift has changed dramatically every release. They don't have a real problem to solve, and they know they have a guaranteed userbase of their language, so it's gotten progressively weirder and shittier over the years.

>I'm curious what makes something a 'standard UI' when doing native cross-platform development.

Not that curious, because it's pretty easy to look up what React Native offers: https://reactnative.dev/docs/components-and-apis. Things like text inputs, buttons but also bigger conceptual stuff like list views and app navigation: https://reactnative.dev/docs/navigation. Those UI elements render differently in different mobile operating systems and React Native handles both gracefully.

Re: Why did Airbnb dump React Native? (2021)

#120
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)

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

Post reply on HN