Live data from Hacker News

Shopify is moving from React Native back to Swift and Kotlin

shopify.engineering

361–370 of 962 posts

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

#361
post #43

I'm sitting here at my desk overlooking Cordova Street. The street that Apache Cordova is named after. I've seen this debate for almost two decades now. Teams jump on the latest cross-platform framework assuming that it will reduce headcount cost at the expense of having a lowest-common denominator app on each platform. The latter is true but the former is false. What ends up happening is that teams start as 20 iOS e…

I can see the case for shared core libraries and then platform native views. This is best done in one programming language. Can Swift, Rust or .NET work here?

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

#362

Earlier quoted context omitted.

You always still needed a specialist per-platform even if most of the code was RN or KMM[0]. But I agree - a thousand not-great mobile apps sprang from this idea. [0] I always thought the best answer was something like KMM to do all the backend comms and local data model in a shared way, and then a bespoke UI building on what that shared code exposed.

> a thousand not-great mobile apps sprang from this idea. Hi. That’s me… not-great mobile app maker. And yes, I’m grateful that RN exists. Mostly what it does is make sure that an Android version of things exist at all.

Hello! As I'm on Android, thank you for your service.

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

#363

Earlier quoted context omitted.

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…

So you don't use agentic AI to develop a large mobile app and you think my take is naive? I also used to work full time as a Android developer for five years, and I'm pretty sure I know better than you about the quality of my app that I work on everyday.

No where did I say we don’t do agentic dev!

Years of experience doesn’t mean much! I will challenge you on ideas. And the idea you are sharing is dangerous and unprofessional.

Especially at scale. e.g., we process more than 3.5 billion orders annually! This is serious business. Edge cases are common.

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

#364
post #255
post #219

Earlier quoted context omitted.

> You just install it on your phone and use the app. Some people on the cybersecurity side are starting to cry....

Are there cybersecurity concerns in the frontend? I would have thought you have to assume the client is untrusted and only do security work on the backend

Nailed it. Assume your client is compromised and/or malicious regardless of how it was built.

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

#365
post #219

Earlier quoted context omitted.

> You just install it on your phone and use the app. Some people on the cybersecurity side are starting to cry....

I have been getting these comments often here, including concerns about my non existent backend's security. Last time, when I pointed out that the attack surface for mobile apps is typically very small, some users started to talk about zero day vulnerabilities in the OS's media handling, as if it was a concern for my app implementation. I found the concerns again wildly overblown.

But what if someone discovers a iOS 0day worth several million dollars and burns it to compromise your app specifically? /s

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

#366
post #43

I'm sitting here at my desk overlooking Cordova Street. The street that Apache Cordova is named after. I've seen this debate for almost two decades now. Teams jump on the latest cross-platform framework assuming that it will reduce headcount cost at the expense of having a lowest-common denominator app on each platform. The latter is true but the former is false. What ends up happening is that teams start as 20 iOS e…

I can see the case for shared core libraries and then platform native views. This is best done in one programming language. Can Swift, Rust or .NET work here?

A Rust implementation of this idea is Crux: https://redbadger.github.io/crux/

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

#367
post #142

Earlier quoted context omitted.

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

A shitty developer can create a far worst experience on react then on native.

Yes but only because they can actually ship the react app

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

#368

Earlier quoted context omitted.

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…

I agree with you! And I’m not trying to romanticize the past! Humans/me wrote slop too.

I think we are over-indexing on speed of delivery. I think this is a mistake. The alpha is in speed and quality.

Currently, my experience is that human + AI can write software faster and with better quality than either party can do alone.

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

#369

Before I even opened the article I knew the reason was because LLMs don't need abstractions. React Native was always about making app construction easier for people who don't want to learn ObjC or Swift. If you're not writing or even reviewing the code yourself, this is unneeded overhead. For a while I've been wondering why people are even bothering with high level languages if you aren't even gonna read the code.

I agree as well. To the point i have a feeling that maybe after some time people will just start writing bigger programs which were in these high level languages like swift, java etc in Rust or C++(except for the potential memory risks).

I mean maybe there is some substance to the point that llm's have read substantially much more code and projects made in python and JS instead of rust or C++, but as they generalise and improve more and more, there is a case to go back to these languages for the pure speed and close to the metal ideology they have.

Most likely many wont do it because shipping faster and capturing market value makes more sense than optimization for a company like shopify(user probably wont appreciate going from 175ms to 20ms as much as new feature), and for those features the higher level lanugages have more training data in the models, but still interesting to think about.

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

#370
Yesterday, just before bedtime, I pointed Astra at our Electron Desktop app, and asked it to write me a native Swift app for iOS. The electron app has 750 unit tests and 50 something integration tests. It also had access to the electron app via mcp and could click around and inspect it. I also gave Astra read only access to the backend code.

It worked for 3 hours and delivered a nearly feature complete port. Today, I found in manual testing 3 bugs and 1 performance issue, all of which it fixed afterwards. To fix the performance issue , it made several different builds and profiled them with Xcode.

At around 12:30 I had a full native app port of our product on my iPhone and iPad and could show it to my crew. It even did portrait and landscape correctl!

Needless to say, that I was flabbergasted. On one hand, I love it , I can build now all those cool stuff, but on the other hand, its a complete devaluation of my craft. I kinda tell myself that I was still the one setting up a proper env for it and that not everyone can do it. but thats coping. Freaking coping… and I know it

Post reply on HN