Live data from Hacker News

Shopify is moving from React Native back to Swift and Kotlin

shopify.engineering

421–430 of 963 posts

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

#421
post #269
post #41

Earlier quoted context omitted.

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).

The main cost of two engineering teams shipping identical products in my opinion isn't the cost of those extra engineers, it is in the product and organizational challenges of keeping those two products that need to be identical in sync. I am very bullish on coding agents but would be wary of this turning into a mess.

> keeping those two products that need to be identical in sync

I agree that most companies do that, but in my opinion that's not really all that important. Some drift between the iOS and Android apps should be expected and accepted.

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

#422
post #32

Earlier quoted context omitted.

That would be a huge mistake if we expect many more hardware and OS running them efficiently than just iOS and Android. Best is to have an IR. Now maybe that IR can be turnt into native code. But we shouldn't be constrained. As an incoming framework author, SwiftUI is problematic for instance because it has a programming model which is dated. And I don't particularly enjoy the language either. Looked fine at first an…

How is SwiftUI dated? It uses a declarative model. I don’t see UI framework paradigms shifting that much.

It is virtual dom like. We don't have access to a stable underlying element like we would with plain UIKit. You can build declarative models without this virtualdomness. But SwiftUI was created during the react boom so they went with the Zeitgeist, understandably.

Now this is somewhat problematic if someone wants to implement better fine grained reactive systems. And I posit that the next paradigm is going to be in that direction given what I've been working on (furthering current reactive systems which only go halfway).

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

#423
post #416

Earlier quoted context omitted.

There is an implication here that the back button is a microcosm that represents the differences holistically but it's not. It's a small one-off exception that doesn't even affect the design choices made for the various apps. As I open up app over app on my Android (Audible, Spotify, ChatGPT, etc.), they all have clear in-app "back" functionality where needed. No apps I have installed rely on the Android back button…

The back button works at its best when it closes an app and it restores the one that opened the previous one. There could be no in app back button to do that. However the back button used to be an always available hardware button or a touch one on the bottom bezel. It's optionally visible now (I'm on an old Android phone so I'm not up to date with the latest OS) or a gesture, right? So app designers must design as if…

I agree. Design as if it doesn't exist incidentally is also how they design for iOS where it doesn't exist.

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

#424
post #270
post #255

Earlier quoted context omitted.

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

1. Not storing secrets properly or using hardcoded secrets 2. Wild use of webviews/iframes sometimes easily propagates as XSS in phones 3. Incorrect client-side OAuth 2.0 configuration e.g. with schema-based redirect URLs. 4. Not supporting high-enough API versions, which may prevent some OS-related weaknesses 5. The list is actually very long. Just few top of my mind.

Fantastic answer thank you

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

#425

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.

Damn, we really gotta get rid of the vibe coders. Bad things are on the horizon if we keep encouraging these naive habits.

How do you propose getting "rid" of "Vibe coders" (which I'm assuming you're pooling me into?)

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

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

Yes, though its worth noting the goal of Cordova was to not exist. In the eyes of the project the web itself is the cross-platform solution but at the time Browser progress was stagnant and Cordova helped move things forward by offering device functionality using open web standards. Cordova was never intended to be a "cross-platform productivity multiplier". The north star of the Cordova project was for browsers to get the device functionality that native platforms offered, such as geo-location, accelerometer, contacts, camera, etc.

I just want to correct this, because I agree with you but the framing is a misinterpretation of the goals of the Cordova project - goals which were ultimately met.

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

#427

Earlier quoted context omitted.

The thing that makes Microsoft's case particularly annoying is that they have demonstrated how they can develop half-decent Electron apps with VS Code, but have simply elected not to with anything that's not VS Code. Like yes, I'd prefer native and MS can certainly afford to take that path, but they can't even be bothered to make sure that most of their Electron apps land on the upper half of the quality spectrum.

> they can develop half-decent Electron apps with VS Code, Only if you don't compare it with any native or quasi native editors like Notepad++ or Sublime text. And Emacs has been cross-platform for decades.

Also they bloated it to death. VSCodium gets you the same solid core app without the oodles and oodles of useless "features" Microsoft has bolted to it.

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

#428
This article makes more sense if you remove the self congratulatory verbiage from it, and the cost rationale which I believe is zero.

Most orgs used REACT native becuase they simply didnt have the interest or talent to build mobile apps using native tech. Many many companies outsource the entire thing for the same reason.

So NOW that its been many years, and LLMs are there to help them they arent simply AFRAID to build a native mobile app anymore.

Thats the entire article. The rest is utter nonsense and bullshit.

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

#429

Earlier quoted context omitted.

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

These apps predated LLMs "getting good". Both have an enormous number of paying customers and you don't just disrupt that for a language change.

Anthropic literally rewrote the whole runtime CC is based on in another language. And even then they still not dared to migrate it away from React.

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

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

FYI I've been building an app, Android first, and discovered the magic of Kotlin Multiplatform. The LLM modularized everything so that it's substantively the same code base, but with Swift only where it's needed. Still working through it, but it seems like a great and underrated platform to build on.
Post reply on HN