Live data from Hacker News

Shopify is moving from React Native back to Swift and Kotlin

shopify.engineering

81–90 of 962 posts

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

#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 agree with a company for using them. Building the same native application for more than one platform is expensive and time-consuming. Most of the time I'm happy to prefer an app built with a cross-platform framework vs. not having one at all.

(To be fair, though, if there's a webapp, 90% of the time I'll prefer that over an Electron app. But nothing meets a well-built native app.)

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

#82
The most interesting part to me here was the whole helix thing + how they split business logic and UI just so AI agents could drive/test state via a CLI. I hope they do a deeper blog post on just that. I’m surprised they are making “decouple state from UI” sound like something groundbreaking when that’s kind of been the foundation for any sane/testable app for a LONG time.

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

#83

Dropping React and going back to raw JavaScript next? I am still mourning pre-React GitHub. Maybe rose-tinted glasses, but it was so pleasant to use

I would attribute that more to culture. For example https://diffs.com/ is built in React and it's basically instant.

I would attribute it to physics.

If the entire page is rendered on the server, the information required to do so is presumably reasonably approximate (same datacenter). If most of the page is rendered on the client, the information needs to be pulled in from arbitrary physical distances.

At some point the engineering really is this simple.

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

#84

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…

Using cross-platform web technology is absolutely a nuanced engineering decision that is the right one for many businesses. What is categorically bad is bundling a standalone browser runtime for every single service, wasting user’s storage and memory when you could just have a website in a browser. Is there any major browser now that doesn’t support saving websites as apps? Electron is simply a suboptimal and incorre…

That decision is easy: do users leave bad reviews for bundling a few hundred MB of Chromium?

Do they leave bad reviews if your app malfunctions due to the system webview behaving differently than the Chromium version you tested with?

Forget about saving websites as apps, no one does that. Not sure if it works on Desktop Safari, it certainly doesn't on iOS Safari. Not even persistent storage is offered for PWAs. Apple likes the billions in AppStore fees they rake in every quarter.

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

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

[dead]

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

#86

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…

Agreed. I felt the same way when a long time ago when Airbnb made a big deal of going back to native.

For companies the size of Shopify and Airbnb that makes sense. But that doesn’t mean a small ten person startup should do the same thing.

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

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

Pretty sure I've seen you either at B-Sides or Polyglot... Small world...

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

#90
post #52
post #34

IMHO, now is a great time to use native Swift/Kotlin code alongside shared Rust code via UniFFI

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)

Post reply on HN