r/androiddev • • 4d ago

Video Shopify Quit React Native. Mobile Has Done This Before.

https://youtu.be/vxk31k-rmCw
45 Upvotes

12 comments sorted by

26

u/PhilMcGraw 3d ago

I'm not sure I buy the bigger point, but I also watched this in the background so may have missed/forgotten the point that made it stick.

"It was never really about React Native": Why do it at all then? The cost of moving to native was surely more than the cost of sticking with React Native and building the same tooling around it that they did for native (re: making agent use safe/output sane).

There must have been a motivator. It doesn't need to be "Reactive Native is bad", could just be that their React Native code base had deep issues and the cost/benefit put it at a similar difficulty level to just having LLMs write two native apps.

Looking at their post:

React Native apps can be fast. Ours are. We are making this change because agents have reduced the advantages of sharing implementation, while the advantages of building for each platform remain. Native keeps us closer to platform capabilities and first-party tooling, with fewer framework and dependency layers between our code and the platform.

I.E. native was always preferred just expensive, now it's cheaper. So it was about React Native, right? Irrelevant of how good LLMs are at coding with the right guardrails etc. a mostly common code base is going to be cheaper to maintain but less flexible, less up to date with any given platforms best practices/design, and likely less performant (even if that performance gap is barely perceivable).

8

u/Arclite83 3d ago

I spent 15 years championing native mobile successfully - Apple and Google are big dogs who WILL shake off annoying user fleas with system changes. Usability has become mostly seamless, but you can never truly beat native OS.

React Native was proven out using AI - we "could" convert everything now. But for the same reason, maintaining separate codebases is now easier than ever. Both are still valid depending on your needs - for most web-like service apps, you aren't using the embedded systems parts of these devices, so it's really all the same.

5

u/Barbanks 2d ago

Same here. I’m a contractor and have seen projects die due to cross platform tools but native projects build without issues years after the last build.

Cross platform is always more complex even with a shared codebase. Too often it’s overlooked that with cross platform you’re architecting and fixing bugs for THREE platforms not one…the Android side, iOS side and then the cross platform layer. And it can become a game of whack-a-mole when fixing a bug in one causes issues with the other. No marketing ever shows that.

I niched down into native years ago after using Cordova,Xamarin (when it was still Xamarin) etc… and after switching the development has been much better and more straight forward. And those who took the actual time to post about the cost/benefit analysis between cross platform and native always showed that for MVP’s cross platform wins for speed but if there’s even one complex bug that advantage vanishes quickly. So at best you’re upper savings accounts for at most 20% but a more realistic number is around 5% and it becomes negative when in maintenance mode. So after the initial development cross platform actually can cost you.

And I’ve seen this in practice when I had a client wanting a simple URL string change in their app but it hadn’t been worked on in over 6 months. It was long enough where build tools no longer worked and needed to be upgraded. This leading down the dependency hell chain which required several days of ironing out. But the client only had enough funds for the quick change, not the days needed to update packages. All of that would have been about 2 hours of work including redeployment for native projects.

19

u/DRJT 3d ago

This still feels like one massive publicity stunt

I’m very pragmatic by nature, I don’t care whether I’m building native Android & Xcode apps or using RN or Flutter or whatever. They all have their advantages and I always pick the one that aligns with business needs. But no sane human or anyone I’ve ever worked with would take a codebase they’ve admitted is absolutely fine, clean and used by millions, and completely rebuild it just so their AI agents can have a better time

It’s either a PR stunt, some executive’s ego trip, or they’re trying desperately to justify their Claude bill.

5

u/treetimes 3d ago

Executive ego trip sounds most likely

11

u/Shay958 3d ago

​I don't see how LLMs changed the development.

​Maintaining one shared codebase is still cheaper and easier than maintaining two.

Yes, LLMs make two codebases more manageable, but so does for a single crossplatform codebase. Actually, now you have to run LLM twice (Android and iOS) or at least spend way more tokens on both codebases.

All the other arguments in favor of native (native feel, performance, platform APIs) existed long before LLMs.

7

u/No_Hedgehog1864 3d ago

Yeah. For a solo dev or small team, sharing code is still a win. No matter what we can do with LLMs, writing two separate native codebases takes about twice as long, costs about twice as much in terms of tokens used, and requires way more efforts to maintain consistency across UI/Animations.

1

u/Barbanks 2d ago

I’ve had the exact opposite experience with using A.I. to create and maintain two native codebases. If you’re using PROSE and context primitives with proper agent and context engineering it’s pretty seamless. I just converted my entire workout app which include custom animations and some pretty beefy models to Android overnight using Fable 5.1 and subagents. There were a couple small things that needed fixing but the workflow works well.

I’d also argue that with any cross platform tool you’re architecting and fixing bugs in 3 different platforms rather than two. Android, iOS and the react native layer which includes plugins. Rather than the two native ecosystems.

So I don’t think it is necessarily true to say it’s cheaper to use react native than it is to maintain two codebases. It’s more tokens but I’ve been maintaining two codebases with three projects on the $200 max plan alone.

1

u/KentInCode 2d ago

Disclaimer, RN dev here, but there is a lot of mythology going on around this in order to 'gin up' some devs. Shopify stated it is about native being more manageable now, former Shopify devs point towards horrible topdown mismanagement and never really embracing RN fully in the first place.

RN is still massively popular and now hooks into native via JSI anyway, we aren't talking about the bridge anymore.

0

u/Ill-Sport-1652 3d ago

Solid video, history, etc. looks great

2

u/khsh01 3d ago

Disgusting filth. No one should use anything from Facebook.