Live data from Hacker News

Shopify is moving from React Native back to Swift and Kotlin

shopify.engineering

131–140 of 963 posts

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

#131

Earlier quoted context omitted.

Perhaps. I can absolutely see that being more attractive especially with things like the Duo where, I assume, SwiftUI gives you a number of things "for free". That said, the massive downsides to native are: - App Store Review time, this used to be hours to 1-2 days, now it can take a week or more - In the same vein, you can do updates without waiting on native when using web technologies to build your app. We can go…

https://www.runway.team/appreviewtimes

I'm sorry but that data does not at all square with my experience. I'm seeing 2 days+ as the average and I haven't seen sub-24hrs in months. I oversee ~20 apps and I can tell you iOS review times have been trending upwards for the last few months.

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

#132
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.

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

#133
post #107
post #31

We did the same thing - had 90% of it overnight. Then spent a few days in the background tweaking for polish. Our app is smaller, and has about 15-20 screens. I started at about 12:30am by giving codex a goal and it inventoried every screen based on the react native code, then created android and iOS directories, used maestro (I had already set up this tooling for a previous personal app build a few weeks prior), and…

React native is an obstacle compared to what clear Swift/Kotlin code may produce. Swift is very powerful and Kotlin, in all honesty, is the first reasonable and very useful thing to come to the JRE ecosystem (save for Scala, which is, well, quite complex still). Myself turned some python code to Swift, and keep doing so, without trouble or pressure. Of course, I've been doing fair amount of systems programming for 20…

Sounds like the advice to newcomers is to not worry about trying to learn a programming language. There already is an llm to program for you, and do it better than you could, so just learn how to talk.

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

#134
post #117

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.

> You just install it on your phone and use the app. OP says they don't have an android phone...

Android studio has a emulator

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

#135
post #81

Earlier quoted context omitted.

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

I think you contradicted yourself. If a tool provides better value for the time spent for a company, I don’t understand how you can call it objectively bad. You can say it’s objectively bad from a technical perspective, but clearly that’s only one part of the equation.

I think they were speaking as a user. These tools create inferior products. (Still not technically objective, but true nonetheless.)

That doesn't mean companies should necessarily avoid them. As a user, I always want the best possible user experience, but a company can't prioritize that above all else, and I know that.

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

#136
post #23

Earlier quoted context omitted.

Your assumptions are very outdated. App Store review times are typically < 24 hours and have been for the last couple of years. And KMP makes cross-platform a real thing now, rather than hacking a web view into a native shell, which was always the worst possible user experience.

I'm afraid you are the one out of date here. App Store Review times have ballooned in the last few months. Marco Arment talked about this publically (on the ATP podcast) about how his app was stuck in review for over 2 weeks IIRC and I've seen 2 days as the minimum review time in the last few months with some taking a week or more. Yes, for a while they were doing very well and I even once had an app reviewed in <1hr…

This is only anecdotal, but I had a review on a brand new app turned around in ~6 hours 2 days ago. A lot of it has always been luck of the draw, though, granted.

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

#137
post #117

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.

> You just install it on your phone and use the app. OP says they don't have an android phone...

I missed that.

I'd order a cheap Android phone to have a device in hand instead of working only with the simulator.

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

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

Well you don’t repeat yourself if the llm repeats it for you at the cost of millions of tokens.

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

#139
post #23

Earlier quoted context omitted.

Your assumptions are very outdated. App Store review times are typically < 24 hours and have been for the last couple of years. And KMP makes cross-platform a real thing now, rather than hacking a web view into a native shell, which was always the worst possible user experience.

Doesn't KMP assume your team is comfortable working in Kotlin?

Yes, that's fair. I'd argue, though, that the training required to get your team up and running should be fairly minimal - Kotlin is a very easy language to pick up, especially for people coming from TS - and will pay off dividends in the medium to long term.

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

#140
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.

Post reply on HN