Live data from Hacker News

Why did Airbnb dump React Native? (2021)

theimmigrantprogrammers.com

121–130 of 136 posts

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

#121
post #101

Earlier quoted context omitted.

> I have never seen cross-platform UI that would work and/or look close enough to native. But wouldn't knowing that require that you investigated the tech choices of all the apps you are using? If not, there's a slight fallacy in that you only _know_ that the app is cross platform when you can see that it is. So then obviously all the apps you know is cross platform will look out of place, because that's how you know…

The discord user complaints rose exponentially after the switch to RN, and almost all users felt a perceivable difference in the quality of the new apps.

this is quite normal when you do a full codebase refactor, even if you didn't switch technologies it is like comparing a 5 year old codebase with 1000s of man-months ironing bugs out with a 1 year old codebase with 500 man-months of work

Seems like the bigger problem is their QA department than their engineering decisions

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

#122
Most of these stories of companies dumping react native are from apps that didn'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

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

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

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

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

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

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

#123
post #71
post #69

Earlier quoted context omitted.

> Timelines were often tight I wonder if those tight timelines seem justified in retrospect. The stress. Missed social events.

Management that sets that aggressive delivery schedule isn't working late to meet the schedule. They don't miss the social events. Engineer stress is manager success. You get burnout, they get payout.

> You get burnout, they get payout

I want to put this on a t-shirt

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

#124

Earlier quoted context omitted.

Syntax affects semantics. Seeing "Why he dumped his clothes on the bed?" you can guess that they MEANT to say was "Why did he dump his clothes on the bed?" But there's a bit of uncertainty there, was that really what they meant to say? Or did they mean to say something like "Why did he dump his clothes on the bed IS MY QUESTION" but somehow the rest of the sentence got lost. Syntactically correct sentences have typic…

I think this is kinda missing the point: that what might look "incorrect" in one version of English is perfectly common and acceptable, maybe even "correct", in another. There is no one universal definition of "correct English". There is no one single English, even more so than in languages that at least have regulatory agencies (language academies). Each English-speaking region comes up with their own rules, perhaps…

We get it languages diverge and branch into different languages, that's how they have evolved. French English and German and Spanish all have common ancestry (right?).

Problem is if it's not clear (to your audience) which language you are using. I'm not saying that is what happened here. I'm concerned about the general principle "it does not matter really". Yes it doesn't, so much that we should nitpick about it. But it does in giving us guidance as to what we should strive towards. If the audience is international it is best to not use use a specific dialect from a specific region of the world.

It's not "incorrect" or "correct". The question is would it be easier to transfer the information you are trying to transfer by using the most common, most shared dialect of English.

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

#125

Earlier quoted context omitted.

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.

0.14.x was when I adopted React. And yeah, I think it was getting quite popular already. That was released in 29/10/2015, so that matches what you said.

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

#126
post #101

Earlier quoted context omitted.

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 have never seen cross-platform UI that would work and/or look close enough to native. But wouldn't knowing that require that you investigated the tech choices of all the apps you are using? If not, there's a slight fallacy in that you only _know_ that the app is cross platform when you can see that it is. So then obviously all the apps you know is cross platform will look out of place, because that's how you know…

> But wouldn't knowing that require that you investigated the tech choices of all the apps you are using?

I did investigate every app I ran, because I was programming UIs and was interested in all tech that was there. To the point of being able to tell whether the app was written with Delphi or Qt or MFC/ATL by just playing with it.

Qt apps on Mac always stand out, being "OK" is the top they achieve.

Windows is less offended because it has never had a stable style, but still, there are always tiny details like context menus or not responding to Ctrl+Arrows that give non-native away.

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

#127

Earlier quoted context omitted.

I'm sure you've thought about this already, but you might want to `yt-dlp` your videos now if you care about preserving them.

I've been on YouTube since the beginning. In the early days I uploaded a short clip from a favorite movie but YouTube removed it. A bunch of other people downloaded it and kept re-uploading it until YouTube finally gave up. I guess their new tact is tougher. They threaten to delete your account now.

No post body was provided.

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

#128

Earlier quoted context omitted.

I think this is kinda missing the point: that what might look "incorrect" in one version of English is perfectly common and acceptable, maybe even "correct", in another. There is no one universal definition of "correct English". There is no one single English, even more so than in languages that at least have regulatory agencies (language academies). Each English-speaking region comes up with their own rules, perhaps…

We get it languages diverge and branch into different languages, that's how they have evolved. French English and German and Spanish all have common ancestry (right?). Problem is if it's not clear (to your audience) which language you are using. I'm not saying that is what happened here. I'm concerned about the general principle "it does not matter really". Yes it doesn't, so much that we should nitpick about it. But…

There isn't a strict "most common" dialect of English, it just depends on audience and context. Wikipedia deals with this all the time when articles are written in a mix of Britishisms and American English and some later editor tries to normalize it to one or the other, but then some other English user adds another construction that's in neither, and so forth.

It maybe used to be the case that the internet was primarily American English, but that can't be assumed anymore.

When a British person writes "colour", it looks wrong to me but it's not my place to "correct" them. That would be rude, dumb, arrogant, and ignorant all at once. "Two countries divided by a common language", so they say, except now there are far more than two. Blame colonialism, I guess?

As for the blog audience, maybe they were targeting an international viewership, or even a primarily Indian one (their immigrant tech peers)? In that case, it would be weird to speak American instead of their native English. Like whatever the Indian version of an Uncle Tom would be.

In this case I think this construction is both common enough and clear enough that maybe it's the Americans who should get used to it, rather than demanding that a country five times bigger change their habits to meet our preferences...

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

#129
post #102

Earlier quoted context omitted.

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…

Is the point of React Native to use native GUI elements and not to emulate the platform look and feel? A few years ago I worked on Java application using SWT. It looked very OK on Linux/Mac/Windows. Even original AWT in Java was cross-platform an native. The problem with Java was GC pauses, but this is a solved problem now.

20 years ago I worked on some Java applications as a college student curious to compare AWT/Swing to other options, and I found that the cross-platform rendering worked decently well, but that the underlying architecture and algorithms were hot garbage. For instance, if you had a full-screen panel nested in a full screen panel, and you put the CPU under heavy load, you could watch it fill both background colors despite the front panel completely obscuring the back panel. Using Windows native API "windows" the paint events would only happen for the un-obscured components and only for the regions exposed. Java advocates advertised how "lightweight" their components were because they "didn't depend on a heavy-weight operating system window object" when in fact those "heavyweight" window objects were part of an algorithm that performed much better. Another big annoyance was that every UI event was delivered in its own thread, so you had to deal with all the complexities of multithreading just trying to write simple user interfaces. I had a whole blog-sized article I wrote once about all the design deficiencies; I've forgotten most of the rest of those details.

Java actually succeeded quite well at being cross-platform, it just wasn't a design worth being cross-platform in the first place.

Hopefully they fixed some of this in 20 years.

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

#130
post #119
post #97

Earlier quoted context omitted.

> 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 referen…

I like Gruber, he has a CS degree and had a brief career as a web developer (which certainly helps him write about technology as well as keep his site operational), but he has been a full-time columnist for his own tech blog for 16 years. As far as I know, he does not have experience writing client side code, either using AppKit/UIKit or using a tool like React Native.

He has plenty of people in his network who are professional developers with SwiftUI experience. However, he was talking about his gut feel from a core system service having so many UI nits from Apple, likely associating that with issues he has heard of from developers who have tried to adopt SwiftUI in their existing and/or new projects.

So thats the basis of my opinion - a quote or two from those full-time developers would added greatly to the article, significantly more his personal reaction.

As a developer with some client-side experience, I'd say the nits speak far more to Apple's MacOS development process these days than to the quality of SwiftUI. A decision was made to add it to the 13 beta and commit to shipping it, rather than hold it back for macOS 14.

Post reply on HN