Live data from Hacker News

Shopify is moving from React Native back to Swift and Kotlin

shopify.engineering

351–360 of 962 posts

Re: Shopify is moving from React Native back to Swift and Kotlin

#351
So, instead of paying humans twice for the same thing, Shopify will pay corporations to burn the planet a little bit more, waste water and energy - to build the same thing twice. Just because. There's no tech reason to do it. "LLMS are better now". There's no low level optimisations, no blockers, no app shortcomings, it's a shopping app for Christ sake. Instead of optimising, creating more with less, they will create the same with more. Yeah, that's smart. Super smart.

Re: Shopify is moving from React Native back to Swift and Kotlin

#352
post #286

Most large tech companies are just job programmes, i've seen so much effort, time, cost go into things that are truly unimportant. React Native gives you (with asterisks) - one "source" for things to go wrong (as it sits on top of the native implementations of the UI + Native APIs). You are writing at that source level, and that filters down to the native builds. I am WELL aware to do certain things on each platform…

And on top of that, they're losing the ability to ship hotfixes over the air and will always be at the mercy of apple & google to deliver their updates.

Re: Shopify is moving from React Native back to Swift and Kotlin

#356

Earlier quoted context omitted.

Your data is out of date. React Native performs within spitting distance of raw native now because in the last 2 years... it basically became native - it's now false dichotomy

mind sharing a link or two on the native code generation bit? I'm far behind from the scene but still curious.

They probably mean that modern RN apps can now use a lot of native widgets. You can look at https://docs.expo.dev/versions/latest/sdk/ui/universal/

There's also a project to add a static JS compiler, but it's been in development hell for the last 3 years: https://github.com/facebook/hermes/tree/static_h

Re: Shopify is moving from React Native back to Swift and Kotlin

#357

Earlier quoted context omitted.

I am so tired of existing react/electron applications being compared against imaginary, hypothetical "native" applications. Like, it's fine to criticize something, "this component doesn't follow the OS's UI guidelines" or "this scrollbar disappears when the mouse isn't over it which is a bad UX" or whatever, but this generic "oh this is bad but if it was rewritten it would be perfect" is annoying.

It's always the preference of people defending bad decisions to compare them to doing nothing. What you're seeing is people actually making that case instead of forcing it. They're saying that if the app wouldn't exist without this bad thing, then it is appropriate to compare using the bad thing to doing nothing. You just seem to be demanding that people not mention other ways to do things, or you'll get angry.

The app not existing would unironically be better in so many instances, though. The web version doesn’t take up 1GB of disk space, install persistent services, send you push notifications by default, and it’s trivial to block ads in comparison.

I’d be very happy if companies didn’t artificially degrade their web version to force installation of an “app” that’s effectively a web browser in disguise.

Re: Shopify is moving from React Native back to Swift and Kotlin

#358

Earlier quoted context omitted.

You just install it on your phone and use the app. Maintainability concerns are entirely overblown by people who don't use agentic AI to develop large mobile apps, but anyway give their opinion as if they had that experience. I put in a few hundred hours, and I reached the same conclusion as Shopify. With reviews from other models and then a manual QA pass the result is fully usable.

I work as a professional app developer. And I find this take to be naive. Most of the time when I review code from AI, there is always something to improve. It’s either a maintenance issue. e.g., Opus recommended and implemented a fix for a database corruption crash. This was ~400 lines of code with many moving parts. I reviewed, and found out Android Room library already handles this recovery case, and all I needed…

All true (and thanks for posting a concrete example rather than "LLMS suck"). But my take is that none of this is much different than before times when I had teams of developers creating applications. They would often make similar mistakes which I would either need to catch or which would flush out in the field. Where it seems that LLMs are not excellent is where the person driving it is also the senior domain expert so can immediately spot pitfalls. But typically using humans to develop software this was really not often the case. Those people get promoted so they're no longer cutting the code. Under that scenario (replacing subordinate humans) I find the current models are either on-par or somewhat better (specifically because the models can also act like a peer senior dev, discussing approach options etc).

Re: Shopify is moving from React Native back to Swift and Kotlin

#359

We don’t hold on to a decision just because it was successful at the time. When a core assumption changes, we’re willing to go back and ask whether it’s still the right call. LLMs changed one of the core assumptions behind our 2020 decision, so we reevaluated our mobile stack from first principles. What we found led us back to native.

Thanks Mustafa! This was a great article—I'm curious, did you consider the non-technical / organizational costs in keeping the two codebases in sync as a separate factor? Do you foresee more organizational overhead as part of this decision? How are you planning to manage that? E.g. small implementation difference between the iOS and Android app increasing the support burden or bug burden and causing duplicated team effort.

Re: Shopify is moving from React Native back to Swift and Kotlin

#360
i think many ppl don't understand this news

IMHO...

if you have a large org, a large app, lots of revenue and $$$ and resources...

it makes sense to do fully native now.

if you're a startup, you don't have the resources and $$$, you stick to RN

you can obviously have AI maintain both, but that is a cost. double maintenance = more $$$ on tokens

so many people are being doomer about this, but most people are also not Shopify

Post reply on HN