Top
Best
New

Posted by fnthawar2 23 hours ago

Shopify is moving from React Native back to Swift and Kotlin(shopify.engineering)
1136 points | 832 commentspage 7
ecshafer 22 hours ago|
They don't say anything in the post. But hotwire native supports pushing ui elements to ios and android. I imagine that might be part of the reason. I haven't built anything substantial with hotwire native though so I am not sure on all of the edge cases.
bearjaws 22 hours ago||
We made the same change for our patient app last month, took 2 months to rewrite from react-native to two mobile apps, but we had the PoC in under a week.

Interestingly Apple approved it very quickly, which I was afraid of given such a huge rewrite.

alanning 11 hours ago||
I think the most interesting part of this story is actually the Playwright-style “driver” that they built into their new apps to support faster verification by the agents.

Hopefully they will write more about that in the future.

m_sharma 22 hours ago||
As things get more complicated and you need to worry about performance, where every millisecond counts, it makes sense to go to native: React Native and Flutter. These kinds of technologies are really good in terms of building faster and building one app which can work across. Where that deep performance might not be of a bigger concern, or you need to go build components natively and then expose them through React Native. I think, with AI, now building even a native app is faster, so moving back to native can make sense if you have a team which can understand how things work.
joenada 4 hours ago||
This thread is very depressing. Web dev bootcamps and product managers have done untold damage to the field of software engineering. And it's our own faults. We had it so good for so long. There was a period of time when programmers were the new "rockstars" (for better or worse). We should have used that respect and those resources to unionise and build some kind of institution responsible for teaching, mentoring, standards, etc - a software engineering guild of some sorts.

Quality is, was and always will be job one. There's obviously a place for AI tools (providing the economy doesn't melt), but can we please just slow down for a second and think about what we're actually doing?

crossroadsguy 22 hours ago||
Few of the biggest reasons for "migration" to the likes of React Native, and web-views et cetera, were "lack of talent", and not getting that talent fast, and for cheap, et cetera, while of course terming that as innovation, embracing the future, and "that's where the game is at" et cetera. Now with the LLMs that is mostly sorted. So if anything I'd be able to see the eradication of the Electron infestation in my lifetime. But then I see the very tools these LLMs are accessed with i.e harnesses (and of course mostly made by the LLM houses) are made of Electron or similar things (sometimes a Frankenstein like mix). And even today Claude Code shows up as `2.x.yyy` for process name ffs! So if anything, this is getting worse.

Then they say:

> We decided to switch from native to React Native in 2020 for three reasons:

> Stop building the same features twice

> Allow developers to work across the stack

> Spend less time chasing feature parity and more time shipping value

Totally!

Is there some kind of shame in just saying:

- we didn't want to hire more people

- we didn't want to pay those salaries

- we fired a lot of engineers with move to react native/hybrid in mind

- we could reuse the frontend devs (aka "full stack" folks) with or without some extra whippings ensuring they grok the bare minimum they'd need to build for mobile and test in on mobile.

nshelia 22 hours ago||
The rendering layer and APIs differ significantly between iOS and Android. Agents currently do not know how to test the UI, at least in my experience. I would be scared to do that migration right now.
LelouBil 20 hours ago||
There's Kotlin Multiplatform too, you can either have the UI for IOS also done in Kotlin, or just have the logic shared in Kotlin and make the IOS UI in Swift.
keithnz 15 hours ago||
This is exactly the decision we have made (though we didn't start with native). It just makes a lot more sense to make native apps and customize to take advantage of different native capabilities. AI essentially makes this a lot easier, and the end result just feels a lot nicer.
voidash 9 hours ago|
If they play this right, they can do much more than just ecom and move into agentic templates and start selling slack and jira templates
More comments...