Live data from Hacker News

Shopify is moving from React Native back to Swift and Kotlin

shopify.engineering

141–150 of 963 posts

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

#141

I've been around long enough to see this argument come and go under a lot of different names. This time it's AI. Maybe AI really does change the economics. But this post doesn't demonstrate it. Talk to me in a year. The side-by-side comparisons? Whoopty do. It's different code. Of course agents can produce two implementations that look the same today. That's not the hard part. The hard part is keeping them the same.…

100%

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

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

I don't have any actual experience with React Native and Electron, but with that caveat out of the way I personally think tools get far too much blame that should be on developers.

For an example that I actually have experience with, React very frequently gets criticized for being slow, heavy etc. React is not slow. I can make (have made) fast and snappy websites in react. React can render at more than 60fps if necessary, and if the code isn't shit. The fact that someone else has made a slow buggy mess with React does not prove that react is bad, it simply proves that the developers are bad. At this point, someone will typically interject with something along the lines of "but react makes it hard to make fast websites" and to that I simply say no it doesn't. I've seen what makes react apps slow, and it's generally just bad code. The developers who make shitty react apps would make equally shitty apps with any tool because they're the problem not the tool. They don't know how to build good software and literally no tool can help them because it's simply a matter of understanding programming and the sad fact is most developers suck at programming.

I graduated university with about 200 others and out of those people who have the same degree as I do, very few were even decent at programming. I know that because I was the guy who helped them complete their assignments and I was a TA in several different classes, and I'm telling you the overwhelming majority of students sucked at programming even after 2-3 years of studying it.

After graduating I've worked on many different web apps and other stuff, and I've seen an overwhelming trend of trash code and bad developers. The people who actually care about writing good software and have the mental facilities to do so are few and far between. And that's why most software sucks. A good developer can write good software using pretty much any of the popular tools. The tools are just different ways to do the same stuff. Sure there's some overhead with react etc but it's really not that significant, the significant part is all the trash code people put on top of it.

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

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

Codex with what model?

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

#144

Earlier quoted context omitted.

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.

It's objectively bad because of how hot my phone is. It's subjectively bad because it's an embarrassment. Like you're seriously going to tell me something like Discord, worth 15 BILLION, cannot afford native apps? Spare me.

What really grinds my gears is Microsoft replacing native apps with Electron. Trillion dollar company who is so cash strapped they have no choice but to punt to the easy development path.

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

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

None of this matters anymore. We have LLMs. It's easy to build native everything now without much resource expenditure. Android will be Kotlin. iOS will be Swift. Desktop and server will be Rust. Web will be TypeScript / React for now, but maybe one day WASM. LLMs are the target now.

Yet, neither ChatGPT desktop app nor Claude Code CLI is native. Mind you these are made by companies with practically infinite tokens.

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

#147
post #41

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…

And the “makes sense or not” part can change based on a bunch of factors. It’s actually pretty common for a new company to start fully native (only iOS, few features, limited scope), then switch ro react native/electron (need to support more surfaces, features are being developed too quickly), then back to fully native (can afford individual dev teams for each platform).

Yeah, massive parts of our community and ecosystem miss that something can be right today, and wrong tomorrow, and having to change along with your users and needs is OK. You'll never be able to anticipate what the business needs in the future, so stop pretending your software design can be done once and then just coast on that, because that's typically not how a software project should be run long-term or even medium-term.

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

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

None of this matters anymore. We have LLMs. It's easy to build native everything now without much resource expenditure. Android will be Kotlin. iOS will be Swift. Desktop and server will be Rust. Web will be TypeScript / React for now, but maybe one day WASM. LLMs are the target now.

This is one of those “oh gosh” posts at first glance, then you actually think about it, and it’s 100% correct. Python, Node exist to save the precious commodity of developer time. Once that’s no longer precious, best value comes from purified custom Rust, no attack surface from huge libraries, optimized performance for the specific task on all possible hardware.

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

#149
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?

Well, it assumes the model is.

KMP can be seen as a token optimization at this point. Business logic is shared and doesn't have to be rewritten in Swift.

Post reply on HN