logoalt Hacker News

Shopify is moving from React Native back to Swift and Kotlin

1109 pointsby fnthawar2yesterday at 2:09 PM802 commentsview on HN

Comments

evilfredyesterday at 2:29 PM

using React Native you end up having to drop into native code to do anything interesting or optimized, so it feels kind of pointless to not just use the platforms directly

show 1 reply
randysalamiyesterday at 2:33 PM

“We debated between gradually migrating to native (brownfield) versus rebuilding them from scratch (greenfield)… However, this time greenfield emerged as a clear winner for the following reasons”

“To solve this problem, we built a system called Helix that takes a more gradual approach. It doesn't expect the first output to be correct, and builds a loop where an imperfect attempt simply cannot move forward until it becomes a good result.”

If this is driven by proper engineering then hats off! Supposedly a simpler app has already been migrated and they are working on migrating the main app using this approach. I don’t even know how I can be a cynic here… because the technology is good enough and so are the engineers I don’t know how management or executives could ruin it.

“…product quality people expect today. This isn’t just the same apps rewritten in different languages. We’re rebuilding them so both humans and agents can understand, test, and change them quickly.”

If this was written using AI and human-edited, you missed a spot.

show 2 replies
basepurposeyesterday at 3:08 PM

if native became easier to tackle with coding agents, react native would have been even more easier to scale. this decision doesn't sit well with me.

thisismyopinionyesterday at 4:44 PM

Would be nice if Spotify and Notion did the same.

AJRFyesterday at 4:59 PM

Most large tech companies are just job programmes, i've seen so much effort, time, cost go into things that are truly unimportant.

React Native gives you (with asterisks) - one "source" for things to go wrong (as it sits on top of the native implementations of the UI + Native APIs). You are writing at that source level, and that filters down to the native builds. I am WELL aware to do certain things on each platform you need to get your hands dirty, but most apps are just serialising JSON from a database and displaying it.

AI writes very buggy, sloppy code.

They've decided - instead of containing that code to 1 surface, they would now have 2 surfaces they throw slop on top of.

I look forward to the 2027 version of this where they've gone back

show 1 reply
seydortoday at 5:55 AM

Hey what about Flutter

BatchJobyesterday at 8:54 PM

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.

jnwatsonyesterday at 4:40 PM

In the history books, this'll be the post indicating the end of writing code as a professional occupation.

trencedampyesterday at 6:12 PM

In my limited experience, in h2 this year, LLMs were kind of shit at building Mobile apps. I had to switch TO react native because the flutter app it built me was a horrible buggy mess and I couldn't debug it myself because I don't speak dart. At least with react native I can kind of get in the weeds if needed

weightedreplyyesterday at 3:54 PM

Isn't it silly that this even needs to be a conversation? Shouldn't we be able to write in any language we want and have the bindings for it to work cross platform? And shouldn't AI aid in building those cross-platform tools?

Maybe React Native isn't the right choice - but two tech stacks for virtually identical interfaces is dumb. Three stacks if you include browsers.

perarnengtoday at 6:12 AM

Why not flutter?

hollowturtleyesterday at 9:33 PM

Does that mean no more react native skia sponsoring?

m3kw9yesterday at 4:40 PM

They are admitting React was a shtty choice for a mobile app if they have a choice.

show 1 reply
jan_m_savagetoday at 1:28 AM

The move to native makes sense.

Also, human developers and AI make different types of mistakes, and take different approaches to debugging. I'm not saying they shouldn't have done that, it's just that a more human-involved approach with AI filling the gaps would probably be a saner bet than 90% AI with some human interference.

Here's an example of why:

https://blog.coredump.cx/p/recursion-into-madness

mt_yesterday at 4:35 PM

The article failed to provide reasons on they why move back to native.

show 1 reply
WhereIsTheTruthyesterday at 3:48 PM

If you build with electron in the age of LLMs, you should change career

busymom0today at 1:50 AM

I develop iOS and Android apps and all the apps I have in App/Play Store are native. I did try React Native a few years ago but I just didn’t like how much extra bloat I had to include as third party dependencies.

Plus now with iPhone Duo which has so much variation in layout, I don’t think React Native would work well for it.

gardenhedgetoday at 6:28 AM

Shopify always comes up but I do t know much about it. Do I interact with Shopify sites without knowing they are Shopify?

kashnotetoday at 2:05 AM

I mean it sounds nice but they never say _why_. "AI removes a lot of the burden" is not a _why_. I was hoping to read about some of the shortcomings of React Native, but it seems like they're doing it just because they can. I remember Airbnb had a post about switching off of React Native years ago that actually had some solid reasoning behind it.

show 1 reply
BringItBackyesterday at 3:43 PM

Makes sense in the LLM age.

With cheap/fast code, it's easy to support multiple software stacks since most of the abstract engineering problems are already solved.

Code - especially straightforward low-level code - is so cheap and easy to write now that some people are building their own version control systems, game engines, and other low-level tooling.

Thus, some of the most demanding, human-centric work in software dev right now - where we now spend more time than coding - is in technical PM, UI/UX, devops, and overall architecture. The decision-making and design aspects of the job.

Exciting times.

manlymuppetyesterday at 4:42 PM

This is probably one of the things that excites me most about AI.

Companies can now just afford to maintain a hundred different native apps, rather than settle for a write once, run anywhere approach.

psadriyesterday at 2:53 PM

Thanks to coding agents, there is no reason not to

j45yesterday at 9:09 PM

Its interesting that the move is back to native and not towards a technology better suited to delivering the same experience on multiple devices from one codebase.

starlineventureyesterday at 2:30 PM

Native. Metal. Remove the abatraction layers

yusufnbyesterday at 3:48 PM

Web based mobile made sense pre AI. It is just simpler now to use different languages and have AI implement features across the board.

BatchJobyesterday at 3:08 PM

im not a fan of react native per se , but this reasoning does not add up.

they are going to "delete an app" because they got some LLM to slop out 2 apps?

The architect who wrote that is batshit and will be unemployed after this blows up in his face.

ICHxyesterday at 9:50 PM

While Meta's Whatsapp just dropped native Windows client for Electron

Lack of vision?

moomoo11yesterday at 5:57 PM

i think many ppl don't understand this news

IMHO...

if you have a large org, a large app, lots of revenue and $$$ and resources...

it makes sense to do fully native now.

if you're a startup, you don't have the resources and $$$, you stick to RN

you can obviously have AI maintain both, but that is a cost. double maintenance = more $$$ on tokens

so many people are being doomer about this, but most people are also not Shopify

Hamukoyesterday at 5:01 PM

I'm certain that small startup Shopify could not afford to build native applications before AI became a thing. Thank god Sam Altman stole all the information in the world so that small family companies like this can finally have software too.

xystyesterday at 4:19 PM

Can’t wait for the blog post mentioning move back to react native or other cross platform framework.

snknewtoday at 3:14 AM

May be a good decision.

tonymetyesterday at 3:51 PM

Let’s see their app size (and heap)

philipwhiukyesterday at 3:08 PM

I guess expect no new features on mobile until their token budget gets through all the screens?

ex-aws-dudeyesterday at 2:43 PM

I don’t understand why building an app twice is a big deal in the first place if that’s a core part of your business

Like wouldn’t you want to invest in platform specific expertise long term?

It’s not like this is a small company or it’s just a dinky side project off of the main business

MaoSYJyesterday at 3:07 PM

Who could have guessed it!

kraig911yesterday at 2:29 PM

A side effect of perceived LLM Generated code is now easier to just make it write native I guess.

976157424477yesterday at 2:31 PM

… from React “Native”

Quarrelsomeyesterday at 11:47 PM

oh fuck my life, we're back to this circa 2000 default of having incompatible binary UIs frameworks across various different platforms, with different OEMs shitting the bed at various different times and Apple free to arbitrarily force its hardware and OS into CI. I felt we were so close to unification in 2011.

And that's not even discussing the heresy of app stores. Curse smartphones for ever happening.

gazarsgoyesterday at 2:27 PM

Cool story but what's the token spend?

shawabawa3yesterday at 3:36 PM

"native" shouldn't be capitalized in the title

madduciyesterday at 4:56 PM

The article itself comes from AI ? It says twice why they switched from Native to React Native in two distinct paragraphs at the beginning. The rest sounds also AI slop jargon.

AtNightWeCodeyesterday at 5:25 PM

Why on earth is Shopify not just a web wrapped in an app like most apps? I mean, they implement most of that stuff for the desktop anyway.

show 1 reply
philipwhiukyesterday at 3:09 PM

> It doesn't expect the first output to be correct, and builds a loop where an imperfect attempt simply cannot move forward until it becomes a good result.

So... local maxima?

yieldcrvyesterday at 2:36 PM

Perfect, yeah the obvious answer and comment is in the subtitle right at the top. Good way to write an article

> Coding agents changed what it costs to build mobile apps twice. Here’s why Shopify is moving from React Native back to Swift and Kotlin.

sergiotapiayesterday at 2:30 PM

Major loss for react native community at large with Skia and Flashlist dying. :(

show 1 reply
rvzyesterday at 2:59 PM

Agreed, the whole of the Javascript / TypeScript ecosystem has caused a slop hellscape of workarounds, half-backed fixes and have exposed short-comings in the ecosystem.

Perhaps these languages do not work well as they are not designed to run efficiently on mobile devices. Now that we have libraries such as SwiftUI and Jetpack Compose, React Native no longer makes sense to use.

Now we should also move away from Electron to better alternatives such as Kotlin Multi-Platform or fully native libraries on each platform; because of LLMs.

show 1 reply
jgwil2yesterday at 5:10 PM

I wish more companies would just focus on webapps. It's infuriating how many services try to push an app on you when it's completely unnecessary. The other day I went to a restaurant that had an app. Not a fast food chain, a nice full-service place. No, I'm not going to download an app to order dinner.

🔗 View 26 more comments