Live data from Hacker News

Shopify is moving from React Native back to Swift and Kotlin

shopify.engineering

701–710 of 963 posts

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

#701
post #10

We don’t hold on to a decision just because it was successful at the time. When a core assumption changes, we’re willing to go back and ask whether it’s still the right call. LLMs changed one of the core assumptions behind our 2020 decision, so we reevaluated our mobile stack from first principles. What we found led us back to native.

Yes, AI have changed the game, and now you can build and maintain two separate projects in Swift & Kotlin instead of one on React

If AI can make any language do anything, why move away from React Native ?

What you could do with Kotlin/Swift you can do with React Native as well.

This just feels like internal factions wanting their own teams, and owning their respective politics, than a discussion on Merit.

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

#702
post #695
post #690

Earlier quoted context omitted.

That's for the Android version, I would assume

Right- but why not let the LLM program directly in Java?

Java can still be used but it's no longer the recommended choice for Android apps. For any new Android apps nowadays you start with Kotlin and Jetpack compose (made by Google).

In fact, I think Google's been saying this for 6-7 years already.

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

#703

That Shopify employs 3,000 engineers is astounding. I was rejected after a fairly basic ML interview at Shopify and when I asked for feedback I was told someday I could become a machine learning engineer. I don’t think the interviewer read my resume or understood my responses as this was after working for several years in ML roles - staff applied ML and scientist. So maybe that tells you something.

Why is it astounding? They have one of the biggest e-commerce applications in the world. A mobile app for shoppers. A payment system and mobile wallet app. A shipment tracking system. Tax and small business software. They have their own lending arm with its own software. They have multiple frameworks for other development teams to make super customizable e-commerce sites. They support Remix and Tailwind among other software. They have brick and mortar POS systems.

They are like multiple companies in one: Square, Etsy, aspects of Stripe, aspects of Squarespace/Wordpress. Idk I can see why they have a lot of people.

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

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

My favourite is a logout button with a logout API that fails. (Not a huge pratical concern, I admit, because it's a local attack.) Nobody ever notices because it still shows the logout screen, which hides the API error toast (if errors were even displayed). The still valid refresh token stays in sessionStorage (or even localStorage) while the app displays "logged out". (Bonus points if you cleared the access token in the error handler but not the refresh token, and on page reload you ask the user to log in again despite having a valid token.)

Or a login form that gets hidden after login, but clears the username and password only when you click "login back in". (Bonus points if the backend also enforces a 5min session timeout "for security".)

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

#705
post #699
post #422

Earlier quoted context omitted.

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

This is such a clueless take, and I see it surprisingly often. Declarative UI does not inherently mean virtual DOM nor does it "automatically" mean slower than UIKit. The abstraction is huge advantage, especially when targeting different devices and screen sizes. We (and that includes Apple) have been learning the value of those kinds of abstraction boundaries for years, well before React. It's also important to note…

[deleted]

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

#706
post #100

Truth is the Shopify app is simple enough to get right by a model. Lots of things hare simpler to get right in native code, so it is to be reiterated - a lot of interpreter code/libs is going down the drain, along with the devs that write it. These are not needed anymore. And, in all honesty, the difficult part with many projects is the bootstrap, the scaffolding, not the continuous dev. Agentic dev. made this a piec…

This article is about the Shop app (which is a consumer shopping app, kinda like Etsy or Amazon). The Shopify app is a lot more complex actually

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

#707

Numbers from GPT Astra - Shopify has 3000 engineers as of 2026 - Google Chrome when released in 2008 conservatively had ~ 60 engineers. - GTA 5 in its credits had 150 software engineers. Surprising even to me who has had many an experience of being in a bloated FAANG team, this 150 includes GTA Online! In a sane society, Shopify’s opinion on anything engineering related would be thrown into rubbish because they seem…

Add to it that they need a compiler team for a Ruby JIT, due to the language choice to run an heavy load server infrastructure.

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

#708

Earlier quoted context omitted.

I take the specifications from the customer and type them into the AI

You do realize that letting the LLM produce more output means that maintenance will be more expensive? I can easily see a world where claude and gpt are producing more tokens to sell you more tokens.

This is not as obvious as many naively believe.

It depends on how hard to maintain the code added is, how likely it needs to change in the future, and most importantly on the cost.

If reviewing and manually improving the code takes hours, the cost may already be in the thousands.

That buys you a lot of AI usage, roughly a few months of continuous work.

You have to balance this with the chance that the suboptimal code the AI generated is actually fine and maintainable enough, and also the chance that during further work on that code a model might implement the same optimization on its own.

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

#709
post #699
post #422

Earlier quoted context omitted.

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

This is such a clueless take, and I see it surprisingly often. Declarative UI does not inherently mean virtual DOM nor does it "automatically" mean slower than UIKit. The abstraction is huge advantage, especially when targeting different devices and screen sizes. We (and that includes Apple) have been learning the value of those kinds of abstraction boundaries for years, well before React. It's also important to note…

Yes, declarative UI is just an abstraction of imperative code. :) The rest is properties of the internal implementation. The VDOM way obfuscates the internals more. Doesn't let you control rendering appropriately. It is so because the diffing and reconciliation algorithm have to be able to remove any subtree of views/nodes from the UI tree.

Then you can only have islands of either paradigm within each other. UIKit and SwiftUI do indeed compose, albeit coarsely.

I can't blame them, they got influenced by react. Don't even blame react, it was a good attempt. Basically trying to build a UI from a snapshot of a tree. Except this is too simplistic a model. They designed it as if you could equate the number of games and the number of positions in chess. Like a markov chain. Except playing chess has side effects. A mere snapshot does not encode those.

I understand the mistake.

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

#710

Numbers from GPT Astra - Shopify has 3000 engineers as of 2026 - Google Chrome when released in 2008 conservatively had ~ 60 engineers. - GTA 5 in its credits had 150 software engineers. Surprising even to me who has had many an experience of being in a bloated FAANG team, this 150 includes GTA Online! In a sane society, Shopify’s opinion on anything engineering related would be thrown into rubbish because they seem…

People who has not run software at scale have no idea what it takes to run it at scale. Google chrome is 60 engineers at launch but google same company has more than 100k engineers. Building first version was always easy and only gotten easy, scaling software was always hard and it is still hard. PS - Spotify i can't defend the product sucks.

I wonder how many of the 100k+ enginners at Google work on that "simple" text box that shows you relevant websites to the input text.
Post reply on HN