177 points fnthawar2 1 hour ago 103 comments

fnthawar2 1 hour ago | parent

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.

ceejayoz 51 minutes ago | parent

I suspect we'll see a lot of large orgs doing this in the next year.

joshstrange 45 minutes ago | parent

Perhaps. I can absolutely see that being more attractive especially with things like the Duo where, I assume, SwiftUI gives you a number of things "for free".

That said, the massive downsides to native are:

- App Store Review time, this used to be hours to 1-2 days, now it can take a week or more

- In the same vein, you can do updates without waiting on native when using web technologies to build your app. We can go from a bug in the field to a fix in <1hr easy. Try doing that with a native app

- Cross-platform, yes LLMs mean you can create a native iOS and Android app but you have to keep those in sync to say nothing of web (if you want to offer a web app as well)

- Like the point above: Web, if you want to support web, why not get the other platform for cheaper (shared logic)

joenada 41 minutes ago | parent

Your assumptions are very outdated. App Store review times are typically < 24 hours and have been for the last couple of years. And KMP makes cross-platform a real thing now, rather than hacking a web view into a native shell, which was always the worst possible user experience.

paulryanrogers 17 minutes ago | parent

Doesn't KMP assume your team is comfortable working in Kotlin?

Rohansi 20 minutes ago | parent

You get all of those, to some extent, if you use React Native. You still need to do reviews for significant changes due to app store rules but you can OTA update most changes without waiting on a review. Even web support is there.

There are cons to targetting web/PWA too. Push notifications work but Safari on iOS only allows them if the user adds your website to their home screen. It also doesn't support prompting the user to install the PWA so you have to instruct your users to tap the Share button, tap View more, and then tap Add to Home Screen. And as soon as they tap the Share button the menu opens on top of your instructions so they need to remember the steps to continue. It's hard to defend this behavior because the user will still need to allow notification permission when they open your PWA from their home screen. It's an unnecessary hurdle.

dpark 42 minutes ago | parent

I’m surprised we aren’t seeing it more already. LLMs suddenly make it reasonable to maintain multiple native apps. I’d love to see this start to supplant Electron and its ilk.

stephenhuey 19 minutes ago | parent

Definitely makes sense for a large org with massive resources (such as Shopify) to do this. But for everyone here pondering what to use for their startup or a smaller project, there are still important trade-offs. In the past few years I've launched multiple cross-platform Flutter apps and multiple native iOS and Android apps using Jumpstart iOS and Android (native templates from the GoRails guys which leverage web views from your Jumpstart Rails server). The latter gave me web, iOS and Android out of the box and was vastly less costly to build, even with AI. For entrepreneurs who like Ruby on Rails, Jumpstart is my favorite for launching rapidly, and since the mobile apps are easy-to-modify iOS and Android projects, it's designed so you can either add more custom Hotwire Native Bridge Components or just write Swift and Kotlin to replace functionality with native code. Eventually you could write away all of the Jumpstart webview stuff, but you'd only do that if you had more runway, like if you have plenty of time or you start making lots of money. I've worked for clients whose ideas failed--not because of my code, of course. :)

It's better to find out quickly if you can get traction rather than building something requiring more maintenance. For most bug fixes or enhancements, you make them in the Jumpstart Rails side and they should up instantly in the mobile apps without going through app review again! Most projects are not being built in companies the size of Shopify, so I caution anyone who wants to just get the project out there to use platforms that give them more leverage. And no, I'm still not a fan of low-code or no-code, because I know what it's like to have to maintain apps over many years.

Oh, and I still always warn clients to stay away from native mobile unless they absolutely need it, because even with AI, maintaining just a web app is still light years faster, and far more pleasant. I know from very, very, very recent experience that testing subscriptions is still annoyingly cumbersome in the flaky Apple and Google sandbox environments, and Stripe for web apps is night and day easier to test. Testing on mobile is better than it used to be, but sometimes when I'm waiting for builds onto a physical device or for confusing settings in App Store Connect or Google Play Console to take effect (or just fine where they've been moved to), I think about how a manager 20 years ago was telling me how slowly his development lifecycle was when he used to burn software onto ROM chips. So web is still the way to go, and native mobile only if you absolutely have to. And if you have tons of time or money, sure, start with plain native.

Edit: As a web developer for decades, I still find both Jumpstart iOS/Android and Flutter to be preferable to React Native.

fnikacevic 49 minutes ago | parent

Any education required for engineers to switch to native or the agents are handling the details on their own? Wondering if architecture or the new languages require ramp up.

railka 47 minutes ago | parent

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

accumulator 8 minutes ago | parent

Thanks for the write-up. I'm curious if there's a shared core between the iOS and Android apps (e.g. KMP or Rust), and if so, what that looks like.

Also, any plans to open source Helix?

dfabulich 3 minutes ago | parent

Did you switch to SwiftUI or UIKit?

lackoftactics 49 minutes ago | parent

I believe this will be overall trend in industry. Dropping React Native and Flutter for native

aatd86 36 minutes ago | parent

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 and then got more complex than I feel is needed.

oh yeah, disclaimer: I write UI frameworks and dabble in PLs.

organsnyder 22 minutes ago | parent

> That would be a huge mistake if we expect many more hardware and OS running them efficiently than just iOS and Android.

Is that something we should be engineering for right now?

RetpolineDrama 9 minutes ago | parent

Yep. Flutter has been dead-end for a while. RN won't last through 2027.

quotemstr 48 minutes ago | parent

The wheel of fashion turns once more.

hermitwriter 39 minutes ago | parent

srsly

nacozarina 37 minutes ago | parent

got me spinning like a record baby

jmknoll 16 minutes ago | parent

I don't think its purely fashion here. React Native always incurred a bit of a performance & UX penalty, but many people decided that this tradeoff was worth it for the increase in product development velocity.

LLMs change the tradeoff and organizations would be remiss to not reconsider previous decisions.

gazarsgo 48 minutes ago | parent

Cool story but what's the token spend?

evilfred 46 minutes ago | parent

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

bluecheese452 18 minutes ago | parent

Most apps don’t do anything interesting.

asimovDev 46 minutes ago | parent

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

vendiddy 24 minutes ago | parent

I would attribute that more to culture.

For example https://diffs.com/ is built in React and it's basically instant.

bob1029 15 minutes ago | parent

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.

kraig911 45 minutes ago | parent

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

sergiotapia 45 minutes ago | parent

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

giebisch 45 minutes ago | parent

Their reasoning makes sense. I'd love to read a follow-up and their thoughts in half a year.

StrLght 28 minutes ago | parent

If you expect a story about how this migration to native went from technical PoV, they've already shared this: https://shopify.engineering/shop-app-migration

It sounds pretty solid, so I wouldn't expect anything to change in just 6 months.

starlineventure 45 minutes ago | parent

Native. Metal. Remove the abatraction layers

976157424477 44 minutes ago | parent

… from React “Native”

randysalami 42 minutes ago | parent

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

codechicago277 35 minutes ago | parent

Getting 11% AI on Pangram, which isn’t bad tbh.

projektfu 5 minutes ago | parent

There's also "Helix rebuilding a screen in the Shopify mobile app using Swift and Kotlin" which sounds like a caption but there is no video or image.

hermitwriter 40 minutes ago | parent

I've been around long enough to see this argument come and go under a lot of different names. This time it's AI. Maybe AI really does change the economics. But this post doesn't demonstrate it.

Talk to me in a year.

The side-by-side comparisons? Whoopty do. It's different code. Of course agents can produce two implementations that look the same today. That's not the hard part.

The hard part is keeping them the same.

Feature parity isn't an implementation cost. It's a divergence cost. It accrues over years across experiments, analytics, accessibility, edge cases, bug fixes, platform behavior, and a thousand little decisions which current agents aren't great at tracking.

Agents can write code fast but they aren't a panacea.

The load-bearing sentence in the whole post is this:

"Shared specifications, tests, and review checkpoints dramatically reduced the cost of maintaining parity."

Okay. For how long? By how much? Got any numbers to share? How will these hold up under contact with customer?

You haven't maintained parity yet. You've built prototypes. You're making a claim about a cost that compounds over time based on what it costs at t=0.

The other thing missing is the counterfactual. They keep comparing this rewrite to what a rewrite would have cost before coding agents. But what if you point those same agents at the existing RN codebase?

If agents make software development cheaper, they make RN development cheaper too. And now you're modifying one implementation instead of generating, testing, reviewing, and reconciling two.

The tooling section makes this even stranger. They find that agents are bad at driving simulators, so they pull business logic out of the UI, make it runnable headlessly, and expose a CLI.

That's a good idea! Do that!

But that's an architecture change, not an argument for native. You can make an RN codebase agent-friendly without rewriting five apps.

Then you get to "Preventing slop," which is probably the most important section in the post. Just pointing an LLM at the codebase doesn't work. They had to build Helix, with ordered checkpoints, test proofs, visual diffing, adversarial reviewers, and human gates.

So what they've actually demonstrated is that Shopify has enough engineering resources and agent infrastructure to make maintaining two codebases look economically plausible.

Maybe it is! For Shopify.

That's a much narrower claim than "AI changes the economics of cross-platform development."

And where are the numbers?

For a post about reevaluating costs from first principles, there's remarkably little cost data. Engineer hours? Review time? Defect rates? Parity failures? Agent spend? Ongoing maintenance? Anything?

They even say RN performance isn't the problem. "React Native apps can be fast. Ours are."

So there's no product crisis here. No performance crisis. There's an internal cost argument, with no numbers, being used to justify rewriting five apps used by millions of merchants.

And in isolation I'd probably just shrug and say: Shopify made a bet. Let's see how it goes.

But it's harder to view it entirely in isolation when they brought Tailwind on yesterday too.

Shopify used to be one of the great stewards of the broader ecosystem. What worries me about the recent direction isn't any single technology choice. It's the appearance that, following the recent tech leadership changes, we're starting to see decisions driven more by the preferences of the people now making them than by demonstrated technical merit.

Maybe that's an unfair read. I hope it is. But posts like this don't help, because if you're going to make a sweeping technical argument for a major change, show the evidence.

The part I actually find convincing is much less exciting: Shopify is tired of paying the upstream tax. They've spent years working on RN performance, improving the framework, dealing with dependencies and upgrades, etc.

Fair enough. That's a real cost. Being an RN framework developer or dependent is -- or has been -- awful -- it's like trying to fly a kite in a hurricane. The web team has been super disciplined and also ridiculously slow. The RN team changes apis in .. questionable ways with regards to compatibility

But it's not new, and it has very little to do with LLMs.

And let's not get me started on taking this kind of dependency for your business on companies who still don't have any idea how much to charge for their tools and are all operating (on a per token basis) at a loss. They're swapping some framework dependency for dependency on coding models whose capability, pricing, and terms they don't control.

None of this means they're making the wrong decision. Maybe they're right. Maybe in three years this looks obvious.

But that's exactly the point.

Come back in a year and show me parity bugs, engineering hours per feature, experiment drift, accessibility regressions, review burden, model spend, and how much human work it takes to keep the implementations aligned.

Right now they've shown that AI makes rewrites cheaper.

Whoopty do.

yieldcrv 39 minutes ago | parent

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.

drchaim 38 minutes ago | parent

good move, has sense.

Waterluvian 38 minutes ago | parent

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 have an absolute opinion on the goodness or badness of these tools. There's some magical thinking borne from ignorance that everyone just ought to go native or that React Native is the best thing ever to be used everywhere or that AI makes this line disappear entirely.

I think these takes serve little value and distract from what’s interesting, and what the subtitle to this article says: that this line is moving due to AI. And I think that’s probably right.

paxys 31 minutes ago | parent

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

stickfigure 25 minutes ago | parent

These takes are also a bit premature. Wait until the new apps have rolled out and users are happy.

Most likely this will work out fine, but big rewrites like this have a big enough chance of going off the rails that I wouldn't shout success from the rooftops just yet. I'm sure Digg engineering was proud of their rewrite too.

Waterluvian 22 minutes ago | parent

There’s risk to doing anything. There’s risk to doing nothing. A bit off topic but my perception is that organizations bias towards doing something more often than they should.

wwalexander 20 minutes ago | parent

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 incorrect way of producing web apps.

Waterluvian 18 minutes ago | parent

Is everyone wrong, or is there more to it than you can see from where you stand?

I don't want to spend much time on this comment so I risk not making a sufficient point, but something I notice is that you're appraising the situation from a purely technical point of view. The technical component is just one piece of what makes a whole product. I think Apple is probably a good example: they regularly make decisions that bother the hell out of tech-centered minds.

user43928 11 minutes ago | parent

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.

TheRealPomax 1 minute ago | parent

It's funny how folks can't even get that number right. Depending on how much you care to optimize, Electron adds 50 to 80 MB to your application. Those multi hundreds of megabyte apps? Yeah that's not because of electron, that's things like "we couldn't be bothered to actually think about the assets we bundled in". 100 uncompressed 16 bit PNG? Sure why not. 20MB worth of fonts because we don't like the built in ones? Let's go.

Electron is way bigger than an app needs to be, of course, but those giant apps that you hate, 250MB just for a health tracker? That's not electron being the problem.

kelnos 16 minutes ago | parent

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

danisth 5 minutes ago | parent

I think you contradicted yourself. If a tool provides better value for the time spent for a company, I don’t understand how you can call it objectively bad.

You can say it’s objectively bad from a technical perspective, but clearly that’s only one part of the equation.

echelon 3 minutes ago | parent

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.

afavour 11 minutes ago | parent

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.

pzo 37 minutes ago | parent

Wish they explained more. Even though I'm mostly native iOS its seems react native is better stack for AI and iteration (hot refresh etc) - the main reason pretty much all AI vibecoding app were implemented via expo/react native.

I also believed that finally this year react native got mature enough with improved tooling and performance to the point that it started to being 'boring' technology.

atonse 37 minutes ago | parent

We did the same thing - had 90% of it overnight. Then spent a few days in the background tweaking for polish.

Our app is smaller, and has about 15-20 screens. I started at about 12:30am by giving codex a goal and it inventoried every screen based on the react native code, then created android and iOS directories, used maestro (I had already set up this tooling for a previous personal app build a few weeks prior), and had the whole thing working in android and iOS in the morning. Took it about 6 hours while I slept.

The app is way smaller, launches instantly, and the android app is (supposedly) native looking. I say supposedly because I don't use android phones. But it's using Jetpack Compose and Kotlin.

And I don't know Swift or Kotlin. I honestly don't see the point of React Native anymore. I know Expo is doing very cool agentic stuff, but I'm just not sure why I'd need any of it when I can write a native app.

greenowl 33 minutes ago | parent

And people say AI isn't taking SWE jobs...

exe34 30 minutes ago | parent

It ported overnight. I don't think it would create from scratch without a lot of hand holding.

greenowl 28 minutes ago | parent

Previous company I worked for would have (and did) hire dedicated swift/java mobile developers to build and maintain ios and android native versions (largely porting functionality from an existing web application)

Not anymore.

organsnyder 25 minutes ago | parent

That's fairly rare. Most companies would use a compatibility layer instead.

josephg 7 minutes ago | parent

Really? I’ve worked with plenty of companies that had separate native iOS & Android teams. I don’t know any that use a compatibility layer. Unless by compatibility layer, you mean a web view.

mattm 27 minutes ago | parent

This is a type of project that likely wouldn't have been done before AI

eleventen 5 minutes ago | parent

Of course it would. Supply and demand. Some companies would decide not to bother. Others would decide it was worthwhile. The limited pool of supply (app developers) would be distributed across demand.

augment_me 23 minutes ago | parent

This is an incredibly boring task. Nothing new, just rewrite everything to just see it all rewritten again in 1 year. Perfect for LLMs and something humans shouldn't do.

boringg 20 minutes ago | parent

While I agree with that statement -- that is also a lot of jobs. We have a lot of humans -- not every single developer sits in the innovation seat. The fewer the jobs available the less employable humans.

I think that rewrite - if AI enabled - owes its thanks to the legion of individuals who put their code up on the internet in the first place.

Weird times.

cheema33 18 minutes ago | parent

> This is an incredibly boring task.

We all want super exciting jobs. But plenty have boring jobs like this. Between not having a job or having a boring job that pays well, the choice is obvious for many of us.

alostpuppy 33 minutes ago | parent

This has been my conclusion as well. Agentic workflows drops the effort level in keeping two native code bases in sync.

sprite 27 minutes ago | parent

Same conclusion here. My current preferred setup is native for iOS and Android with common core in rust exposed through uniffi

jgalt212 31 minutes ago | parent

And there's no proprietary IP in your company's app that you don't mind being sucked up into the training data?

exe34 29 minutes ago | parent

The value of most companies/apps are in the relationship with the customers, so it's the database, not the code.

stwrt 21 minutes ago | parent

Definitely agree. Most developers could build a basic Twitter or Facebook clone. The hard part is getting the users, content, and relationships that make the product worth coming back to.

c16 18 minutes ago | parent

As other have mentioned, the code isn't the valuable part. But also there are alternatives now to these LLM providers.

fourside 21 minutes ago | parent

How are you evaluating the Android build if you don’t use Android and you don’t know Kotlin?

user43928 7 minutes ago | parent

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.

zx8080 20 minutes ago | parent

Nice, thanks for sharing. I hope I will never use your app!

larodi 4 minutes ago | parent

React native is an obstacle compared to what clear Swift/Kotlin code may produce. Swift is very powerful and Kotlin, in all honesty, is the first reasonable and very useful thing to come to the JRE ecosystem (save for Scala, which is, well, quite complex still).

Myself turned some python code to Swift, and keep doing so, without trouble or pressure. Of course, I've been doing fair amount of systems programming for 20 years now, so not sure what to advice newcomers. But this approach to dev DOES work for me very well.

locallost 4 minutes ago | parent

Next up, designing an even higher level language which will be used by LLMs to compile to high level languages like kotlin or swift. Just store instructions for LLMs in repos.

railka 34 minutes ago | parent

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

rvz 26 minutes ago | parent

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.

massel 9 minutes ago | parent

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)

massel 11 minutes ago | parent

We've been doing this for a while and it works great. Logic and network stuff goes in Rust, UI goes in Swift/Kotlin.

faangguyindia 33 minutes ago | parent

React Native is slow.

Hermes VM doesn't even have JIT.

If the majority of your app is native code and only a few places are stitched together via JS code that runs in the Hermes VM, then React Native is suitable for you.

Look at V8 vs. Hermes performance.

We use Flutter; we rarely need to write native code. We have three apps: Symbiote workout app, CalorieCodex, an AI calorie tracker app, and MacroCodex with 17,000+ users, all of them completely free

roshanabdullah1 32 minutes ago | parent

the reason what I believe is that, AI can understand react very well. so It can be beneficial for Shopify

ex-aws-dude 32 minutes ago | parent

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

pkaler 31 minutes ago | parent

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 engineers & 20 Android engineers. They adopt something like React Native. Then you end up with a team of 20 product engineers and 20 tooling and framework engineers.

I've seen that countless times in the last two decades.

vsviridov 9 minutes ago | parent

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

pkaler 1 minute ago | parent

I'll most likely be at Polyglot. I did a very small part to help organize one of the very early ones.

iamgopal 30 minutes ago | parent

when you are large enough to allocate sufficient resource, you should go native, if not, go flutter/react native etc. Its very simple decisions I guess.

seanhly 28 minutes ago | parent

Bragging about "using agents to code pre-GPT" is quite the corporate flex... weren't they notoriously bad back then? Might as well say, "We've been doing spreadsheets with quantum computing since 2016"

mcsniff 24 minutes ago | parent

I use Shopify app every day, multiple times a day to run my business and it has always been buggy and inconsistent for me on Android, and I don't expect this will make it any better, especially with more AI in the mix, but we shall see.

Who wants to bet there still won't be a dark mode?

negative10xer 23 minutes ago | parent

I remember their blog post claiming how much of a win it was to move over to react native and maintain high performance. They even listed their performance metrics. At that time I was a mobile developer for an e-commerce business and the metrics they were proud to share were unacceptable on our native apps. Here they are coming full circle

schrodinger 21 minutes ago | parent

Before and after LLMs.

psadri 22 minutes ago | parent

Thanks to coding agents, there is no reason not to

aurareturn 18 minutes ago | parent

How long until LLMs just write machine code?

rvz 16 minutes ago | parent

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.

aecorredor 16 minutes ago | parent

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.

running101 10 minutes ago | parent

I suspected we would start seeing these types of blog posts. Code is becoming low level, where people do not care what language, it is written in anymore. The cost of moving from one to another is becoming low.

MaoSYJ 8 minutes ago | parent

Who could have guessed it!

philipwhiuk 7 minutes ago | parent

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

BatchJob 6 minutes ago | parent

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.

basepurpose 6 minutes ago | parent

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.

larodi 6 minutes ago | parent

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 piece of cake.

philipwhiuk 6 minutes ago | parent

> 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?

ecshafer 6 minutes ago | parent

They don't say anything in the post. But hotwire native supports pushing ui elements to ios and android. I imagine that might be part of the reason. I haven't built anything substantial with hotwire native though so I am not sure on all of the edge cases.

bearjaws 5 minutes ago | parent

We made the same change for our patient app last month, took 2 months to rewrite from react-native to two mobile apps, but we had the PoC in under a week.

Interestingly Apple approved it very quickly, which I was afraid of given such a huge rewrite.

rietta 3 minutes ago | parent

The promise of React Native was easing development burden from the web app to the native app. It makes sense if they are just using coding agents to cut out the framework and just go native.

That was my thought when I saw the headline and then reading the article confirms this is the inflection point per their own words. Very interesting.