Live data from Hacker News

Shopify is moving from React Native back to Swift and Kotlin

shopify.engineering

161–170 of 963 posts

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

#161
post #81

If you put every company that needs/has an app on a spectrum, there is a line somewhere that roughly divides them into two groups: where Electron/React Native/etc. makes sense or not. It's just a normal engineering decision: solving problems given limited resources. Companies have different problems and different resources. I think people in the tech community have probably also noticed that it's rather popular to ha…

> I think people in the tech community have probably also noticed that it's rather popular to have an absolute opinion on the goodness or badness of these tools. I don't think that's necessarily true. Nuance is a thing. These tools are bad, objectively! They give inferior user experiences, and waste resources (ever more important now with RAM prices what they are). But that doesn't mean I can't understand or even agr…

Nuance is always a thing. Native apps are faster and better most of the time. Electron and React Native wouldn't annoy me so much if they were used with small apps where it's not worth over-optimizing.

However, it's now the default for Multiplatform apps that are used constantly, including IDEs, chat apps, etc. They gobble up memory and cpu cycles and are constantly getting updates due to the shitshow that is the javascript dependancy ecosystem.

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

#163
post #81

If you put every company that needs/has an app on a spectrum, there is a line somewhere that roughly divides them into two groups: where Electron/React Native/etc. makes sense or not. It's just a normal engineering decision: solving problems given limited resources. Companies have different problems and different resources. I think people in the tech community have probably also noticed that it's rather popular to ha…

> I think people in the tech community have probably also noticed that it's rather popular to have an absolute opinion on the goodness or badness of these tools. I don't think that's necessarily true. Nuance is a thing. These tools are bad, objectively! They give inferior user experiences, and waste resources (ever more important now with RAM prices what they are). But that doesn't mean I can't understand or even agr…

A well built native app can still serve as a vector for harvesting personal data in ways you cannot control. A web app is inherently superior because of its security envelope.

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

#164

Earlier quoted context omitted.

How are you evaluating the Android build if you don’t use Android and you don’t know Kotlin?

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 am using Gemini as well as Opus on a somewhat small project in React Native and I can not imagine this thing being able to build the whole thing on its own without it being a dumbpster fire.

Can you share some details of how you work? What models? What harness?

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

#165
post #47

Bragging about "using agents to code pre-GPT" is quite the corporate flex... weren't they notoriously bad back then? Might as well say, "We've been doing spreadsheets with quantum computing since 2016"

I'm skeptical. Pre-ChatGPT the models didn't understand tool calls or file editing so you couldn't really do targeted edits. So I really am not sure what they mean by this.

I mean, it's not impossible - I wrote a "coding agent" with GPT-3. It sucked balls. The idea was you write a Markdown spec file and the tool then compiled it to an equivalent source code one shotting it every time, but it hardly worked at all. The file changed too much every time and instruction following wasn't good enough, so it'd keep changing the interface exported by the file, and there were lots of bugs etc.

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

#166
post #90
post #52

Earlier quoted context omitted.

So you want to review and maintain code in 3 separate languages? Sounds like a complete waste of tokens with the worst case of just quickly building more technical debt, three times.

It's a lot nicer than having the same logic in 2 languages and trying to keep them in sync – whether doing it by hand or with an LLM. One of the big rules is don't repeat yourself – much of the logic only needs to be written once (except UI)

Rust is uncompetitive for the use case of sharing logic between mobile apps. Kotlin has Swift interop and KMP is a mature tech by this point.

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

#167
I agree w/ advising people to move off React Native, though I think the story that "LLM enabled an otherwise too-expensive migration to consider" is not correct.

I say this because I was part of a migration from a mid-size React Native app to a Swift/Kotlin native app redo. I did the majority of the technical work on it. The majority of the work occurred before January 2026 and without LLM code assistance, though later features in the app definitely used some.

For anyone considering this, I'd say that the migration is definitely worth considering without even taking LLM assistance into consideration. The continued React Native tax of unnecessarily difficult upgrades, impedance mismatch w/ underlying core frameworks, and incredibly uneven library quality just cause your business to really spend a lot of time shepherding the tech over the finish line. It's pretty wonderful to be back in the world of "build, compile, ship, be sure". One thing as a fundamental principle that I think the Shopify article 'gets' at, is the importance of the feedback cycle - investing time in our integration test story very early on both helped w/ my cycle times, and later in providing guardrails for LLM assistance.

All to say that this decision is worth considering without even taking LLM assistance into account.

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

#170

If you put every company that needs/has an app on a spectrum, there is a line somewhere that roughly divides them into two groups: where Electron/React Native/etc. makes sense or not. It's just a normal engineering decision: solving problems given limited resources. Companies have different problems and different resources. I think people in the tech community have probably also noticed that it's rather popular to ha…

Using cross-platform web technology is absolutely a nuanced engineering decision that is the right one for many businesses. What is categorically bad is bundling a standalone browser runtime for every single service, wasting user’s storage and memory when you could just have a website in a browser. Is there any major browser now that doesn’t support saving websites as apps? Electron is simply a suboptimal and incorre…

Apart from the hassle that OSes put in the way of PWAs (intentionally, but that's another topic), a local Node app simply has a different kind of system access compared to a web app.

Most apps won't need these capabilities to function, but they are there, for all purposes good and bad:

- background activities with fewer restrictions

- less restricted file system and sensor access etc

- ...

sure, many app use this for nefarious things.

But real use cases don't need to be sophisticated rendering algorithms or what not.

I think good streaming apps also use these capabilities, for example, for performance.

Post reply on HN