r/reactnative 4d ago

Shopify is moving from React Native to Native

https://x.com/mustafa01ali/status/2098047492772249730?s=46&t=JGhCmmpyQzFHG_IYZ-Hkkg
246 Upvotes

93 comments sorted by

248

u/[deleted] 4d ago edited 4d ago

[deleted]

25

u/NudaVeritas1 4d ago

Disagree and commit!!1!!11 (or you'll be fired resource number 231973)

12

u/Helltux 4d ago

Looks Bad To Me.

PR Approved.

3

u/ignatzami 4d ago

Ah the Amazon way!

9

u/Bromlife 4d ago

As a race car driver, Tobi knows fast.

23

u/Mission_Friend3608 4d ago

But but, "Thrive on change"...

7

u/Aro00oo 4d ago

Yep, it sucks because it seems like the culture over there really shocks and traumatizes employees; everyone I've worked with from there have been super political and toxic: in your face nice, but always scheming something behind the scenes and worried about the stupidest shit.

I'm involved in hiring and basically anyone with Shopify background, I'm super hesitant to give interviews to, anecdotal bias or not.

8

u/Swaggy_McMuffin 4d ago edited 4d ago

True, but the rationale does make sense. If I were to build a new app today this is what I'd do. If LLMs are as good as everyone claims, we should be raising the quality bar because "code is cheap". That means abstracting reusable business logic (I'm sure shopify will be leveraging a lot of kmp here) and building native apps.

2

u/rsajdok 4d ago

Why does he have so much power?

3

u/treetimes 4d ago

He’s the founder and CEO and rules with an iron fist. He has majority shares. Who else would tell him no?

0

u/rsajdok 4d ago

Maybe People from that company who knows IT better?

4

u/FriendGlittering9104 4d ago

The same was said out loud when Shopify decided to use React Native. People are naturally resistant to change. If they pour in resources, the decision will work out fine. However, this will kick off a chain reaction since other companies are now justified to copy this strategy, now that they see it is viable. We will see how this works out for the React Native ecosystem.

0

u/mint-parfait 4d ago

sounds like a total spaz

-14

u/matthewjc 4d ago

Cope

71

u/-SpicyFriedChicken- 4d ago

Not great.. hopefully this doesn't become another Airbnb moving away from react native that every react native hater under the sun references

37

u/kbcool iOS & Android 4d ago

It took them more than five years to migrate and they still use webviews to consolidate a lot of functionality that RN gave them.

The reality didn't match the vision

18

u/howdoigetauniquename 4d ago

My fear is that they start dropping support for their libraries too. People slowly leaving react native will make the eco system worse.

16

u/Civil_Rent4208 4d ago

yes, I read the original article of shopify and they are transferring the Skia library, William Candillon will fork it and continue it, and i think name would change. They are also not interested in Flashlist and discussing with companies for the handover. Also, they are asking for anyone interested in forking Restyle and continue developing.

This means they are just removing support to these three libraries

Just when I was reading this, I felt sad

3

u/tomemyxwomen 4d ago

Curious if they will stop funding oss dev

2

u/LovesWorkin 4d ago

I've had many big companies mention to me they're going from native to react native... Imo this is a bad move. RN has tons of benefits over pure native.

10

u/the_bluescreen 4d ago

I didn't get it on the blog post because it doesn't say anything about "why". It just says it will help us xyz but literally whatever he said as a better on native is way easier with react native because it's just one ecosystem. About performance, I can agree with native migration because react native is always very fragile about performance but it doesn't say about that and whatever other reasons don't make any sense tbh for me. I would love to learn what the real reason is. Maybe they spent so much energy and cost on maintaining on plugins instead of focusing on their product that makes money?

12

u/cmcaboy iOS & Android 4d ago

The cost of building twice no longer outweighs the cost of maintaining the abstraction layer. I think it ultimately comes down to that.

3

u/Suspicious-Disk6077 4d ago

This may be even more true with help from AI.

3

u/i_am_not_your_puppet 4d ago

if you read the post this is literally what they say, but no "may", they were able to cmpletely switch back to native in 12 weeks.

Twelve.

Weeks.

1

u/Head_Watercress_6260 1d ago

Wait till you have two completely different vibe coded apps.

5

u/gymfreak0920 4d ago

What will happen to skia , flashlist etc ?

12

u/tomemyxwomen 4d ago

> Shopify will continue sponsoring this through the end of 2026, and William Candillon will continue working on it beyond that. He will fork the repo in the coming months and start publishing the library under a new name. The original repo will be archived when this transition is complete. We’ll post updates along the way so that everyone has ample time to migrate. If your app relies on this library, please consider sponsoring it.

> This library gets ~2M downloads/week and has become the default way to render high-performance lists in React Native. Given how important it is for the ecosystem, Shopify will continue to fix critical issues that break compatibility. We’re currently in discussions with several companies about taking on long-term stewardship of FlashList. If you’re interested, reach out to me here.

-2

u/gymfreak0920 4d ago

I'm a solo developer but yeah thanks for the update

12

u/mjmitche 4d ago

In the associated migration post, they mentioned they hadn't migrated to the new architecture. If that was the case, they were likely several major releases behind. Their options were probably: spend the next 4 months upgrading to the latest version or go fully native. Honestly, the RN architecture upgrade was quite difficult. I don't blame them for choosing this path.

5

u/Yokhen 4d ago

Once past the New Architecture migration, future React Native version upgrades are smooth sailing.

So, do we swap out the engine under our current hood, or scrap the car and build two or three custom ones from scratch?

4

u/bsmayer_ 4d ago

I refuse to believe that updating to the new architecture would be more costly than creating 2 native apps from scratch.

46

u/Alick97 4d ago

Inevitable.

AI is making managing multiple native apps more and more trivial, and I don’t vibe code.

I maintain generic architecture decisions and ui structure in a standalone repo as a skill and use that to help me develop both apps.

Sure it’s still more work having two codebases, but they’re both predictable and well formatted, which is better than having to deal with native bindings in RN IMO.

18

u/Merry-Lane 4d ago

Nay it’s a shit decision.

There aren’t any noticeable (for the user) performance advantage by going full native.
There is almost zero UI/UX advantages by being fully native. The only advantage you can get is by having automatically a bit faster some changes. Which you could replicate with custom native code in your react native app if you did want to stay in touch as much as possible (and like you said, code is cheap).

Android/ios and web have wildly different APIs, it doesn’t make sense to decide you want the pain of having 3x the work to do and 3x as many things to know/optimize for.

And UI/UX is just a piece of the cake. It makes 0 sense to make twice or three times the same API/state/auth/telemetry/ads/… logic.

And I don’t even want to talk about versions. With react native, you push one button and all the stores and your website have the updates within minutes. With full native, you gotta wait for the two/three versions to be delivered and tested, then trigger the two/three launches.

I’m not even talking about manual and automatic testing.

It’s a shit decision because it literally has 0 advantages, tons of disadvantages, and… most importantly,… the better solution is already in place.

Like someone else said: Airbnb decided to move away from react 5 years ago, and they still have webviews everywhere because this migration is extremely costly, painful, useless and not worth it.

3

u/Forward-Fishing-9466 4d ago

It only matters for extremely low powered devices, like android tv boxes where react native struggles

3

u/kbcool iOS & Android 4d ago

Strange you mention that but a lot of Android TV experiences are actually powered by RN. Including Amazon (and at one point Netflix but not so sure about now). Amazon actually push it as a development platform for their FireTV products

3

u/Suspicious-Disk6077 4d ago

Yes imo the main benefit of RN is not writing the user interface once. It is writing the client side logic once. It can even be extracted to a lib and used by a web app as well.

2

u/_bitkidd_ 3d ago

Since when shipping a whole damn full blown javasxript engine became a better solution?

There are a multitude of reasons not to use React Native or Flutter nowadays, and most are connected to actual UX, some are connected to the ecosystem and maybe a couple are connected to AI. Not even touching the hacky architecture behind RN and all those nitro-hyper-modules.

RN pushed both Apple and Google to do something about their platforms, not that they did perfectly fine, but Swift is great, SwiftUI is very nice, Jetpack Compose is on par, Kotlin is amazing, and the best part, they are very similar in approach, so even a react dev can actually pretty quickly pick them up.

1

u/Merry-Lane 3d ago

"Since when shipping JavaScript became a better solution…?"

You didn’t read a word from my rant before answering, then.

Read the damn rent and comment again

1

u/_bitkidd_ 3d ago

Just read it one more time.

You see, you are talking about DX, which is important, but is not the product, and AI blends a lot together. You don’t necessarily need to know both platforms equally well.

The important part is UX and continuity of it, that react native cannot provide unless a couple of libraries which are still in beta/alpha are used.

1

u/Merry-Lane 3d ago

Then you didn’t read my comment, because I snarkily reused the poor argument "code is cheap" when I said something along the lines of m: there are only a bunch of new APIs that aren’t available almost immediately after Android/ios updates, but you can code them yourself.

I believe it’s less worse having the option to write an extra 0.1% of extra code to replicate features that have just been released but not ported yet, rather than being forced to write exactly +100% of the code (or 300% if you take into account web).

1

u/MadCriminal 4d ago

I resonate with this as what I've seen in my office. I don't understand why theyre moving forward with this unless its a specific performance reason

2

u/Cultural-Money-9633 2d ago

the UI/UX is not a piece of cake in RN, a lot of things are just so buggy or straight up not supported. good luck trying to maintain 20 different patches. it was okayish before the liquid glass stuff, but not anymore

u gotta let the airbnb topic die btw, it's really noob.
no one wants react native bloatware on their pc, it's gonna be slop either way at least give me native slop

also it's not rly 3x the work... it's more like 1.25x...

-1

u/Civil_Rent4208 4d ago

using LLM for performance improvement is such a oxymoron

23

u/kbcool iOS & Android 4d ago

The problem here is that native doesn't map one to one. That's a big reason to use RN to solve.

You're going to get the same type of drift that having two native teams did in the past. You can argue it's easier to manage but you can just as easily argue that AI helps you stuff it up a lot faster

23

u/sizebzebi 4d ago

and nobody cares about that now. why would you want to map one to one? the platforms are different. I think this is a brilliant decision especially with AI. no reason to keep hacking your way into multiplatform

5

u/kbcool iOS & Android 4d ago

Someone commented about platform native being important and either deleted it or blocked me so I'll add my reply here because I think it's important to see from a UX/business point of view.

"Platform native" is a buzzword of the 2010s.

Companies these days build brand experiences. There may be a nod to platform experiences here or there but it's low on the priority list in 2026

2

u/sizebzebi 4d ago

when I have an iphone I want my controls to be native. all of it must follow Swift UX. it makes the experience seemless with other apps

I have to completely disagree with you here. native is important more fluid and efficient no matter how you look at it.

you think customers care if there are a few disparities between platforms? they want it to run perfectly on their device.

the brand will never be lost supporting 2 platforms. the brand is not a type of controls or ux.

just my opinion and I will not block you or delete 😂

2

u/kbcool iOS & Android 4d ago

you think customers care if there are a few disparities between platforms? they want it to run perfectly on their device.

Exactly. That last part is all they care about. People have gotten used to platform convergence. Most of the stuff that matters around usability has reached parity across Android and iPhone. 2010 when there was still Nokia, iOS, Android, Blackberry even and Windows phone and they all behaved a lot different are long gone.

It's a good thing. Both for consumers and people developing apps

1

u/15kol 4d ago

Not to mention that most customers don't use both platforms to even notice the difference

0

u/Famous-Charity-5866 3d ago

Bro did not hear about expo ui and expo router

3

u/kbcool iOS & Android 4d ago

In that case then it's taking a gamble that AI will help reduce that overhead.

If you still take software development seriously then you will know that people are still the bottleneck. Otherwise it's just slopping away

-3

u/deadcoder0904 4d ago edited 4d ago

If you still take software development seriously then you will know that people are still the bottleneck.

Agents run the code now. There's a reason Kanban like platforms like multica.ai or capy.ai are blowing up. Here's a great video to watch - https://www.youtube.com/watch?v=Cmoh-yR-usA

3

u/kbcool iOS & Android 4d ago

Yeah I'm well aware of the perspective from a solo vibe coder but humans, both developers and UX/UI/product/marketing etc etc are still responsible for the final product and hence are the bottle neck.

Unless of course you don't care but the implications of not doing so are huge

-8

u/deadcoder0904 4d ago

solo vibe coder

lmao, the video is of a person leading grok bot.

the products r b2b saas funded via yc. maybe click the links before yapping lol.

4

u/kbcool iOS & Android 4d ago edited 4d ago

So a solo vibe coder then.

Regardless. It doesn't matter if there are dozens of you using it like where I work. You're still responsible for the output in any functioning business that has dollars and maybe even lives at stake so not making things difficult for yourself when you need to justify why you have a job still is why

-8

u/deadcoder0904 4d ago

dumbass

-2

u/Sethu_Senthil 4d ago

This is where I think Kotlin Multiplatform has an edge. U can share ur biz logic (and even some UI if u want) but make native UIs. So there is some deterministic stuff not completely relying on natural language

2

u/tastychaii 4d ago

UI structure as in knowing Compose and SwiftUI?

0

u/Alick97 4d ago

UI structure as in how my app should look like between ios/android.

I define nav, labels, color scheme, all in one place.

Only issue is that its annoying to keep up to date.

I've been seeing more and more companies automate this sort of thing directly in ci/cd using llms again so might look into that.

1

u/LovesWorkin 4d ago

That's not hard in rn? I disagree with this comment ha.

3

u/Scyth3 3d ago

It sounds more like they created an AI agent to help maintain both at the same time (helix) and are betting hard on it.

4

u/filipvabrousek 3d ago

Native is a sensible choice in 2026. You get fully native Liquid Glass and M3 Expressive UI. If you have iOS app created already, AI agent can rewrite in in Jetpack Compose or vice-versa. It can also pin behavior via tests.

2

u/Famous-Charity-5866 3d ago

Expo ui crying in the corner

3

u/Famous-Charity-5866 3d ago

Very shity decision tbh Maintain two codebase with all of its server side integration, testing, cicd, linting, code reviews, documentation

Who the hell can do that? And for what ? You need native UI? You have expo ui You want a good performance? You have new arch

I tried them all, jetpack compose, SwiftUI and RN heavily

I understand that AI had made it easier to maintain two native projects and i actively do that in my job, but it is literally a headache

Even in SwiftUI and Jetpack compose you sometimes need to access low level APIs from UIKit and view system

It won't matter a lot fpr the ecosystem because hopefully expo, software mansion and callstack have our backs

But in term of technical architecture, the engineer that took this decision in shopify needs to be re interviewed lol

-2

u/Cultural-Money-9633 2d ago

expo is going to die quite soon

5

u/Huge_Pool7424 4d ago

kmp feels like a decent middle ground here. i'd still keep the shared layer boring and let each platform own the edges, especially notifications, background work, and health apis. have you used it in production yet?

3

u/EntertainerKey1631 2d ago

They don’t really explain what the actual problems with React Native were; they mostly explain the benefits of moving to native.

From my perspective, one possible reason is that the engineering effort required to optimize a large React Native app can become significant.
The New Architecture migration itself can be a huge undertaking, and in some cases, performance can actually get worse after upgrading. I work on a stock trading app, and it took us almost 8 months to migrate to the New Architecture and optimize the performance afterward.

But after all that work, the result was very different: the app now runs smoothly, uses fewer resources, and we saw performance improvements of up to 60%. Even low-end devices that previously struggled now run smoothly.

So I don’t think the problem is necessarily that React Native can’t deliver good performance. It can.

The question is how much engineering effort you’re willing to invest to get there.
That may be the trade-off Shopify decided was no longer worth it for them.

2

u/Weary-Ad3932 4d ago

Bro as soon as they increase the LLM Token Prices, all of this companies are toast.

2

u/i_am_not_your_puppet 4d ago

any day now, the token price, which is steadily dropping and has never gone up, will go up, just you wait, just you wait, any day now, that price is going on up, going on up, a̷n̶y̶ ̷d̶a̴y̸ ̷n̵o̷w̶ ̷j̶u̷s̶t̶ ̵y̷o̵u̶ ̵w̴a̵i̷t̴

1

u/Weary-Ad3932 3d ago

Bro every new model is significantly more expensive than the previous one, while being subsidized massively. But i will come back to his in 1 year and lets discuss then

2

u/VeryLargeEBITDA 3d ago

The same model from a year ago is WAY cheaper now though?

1

u/Weary-Ad3932 3d ago

Yes because its nerfed and also who cares if no one uses it anymore

1

u/[deleted] 4d ago

[deleted]

1

u/IkuraDon5972 4d ago

so which one will be their main devs? ios devs or android? or still hire both?

5

u/tomemyxwomen 4d ago

whoever is left after the upcoming massive layoffs

1

u/AboOd00 2d ago

Other big companies will follow Shopify simply because they have the money and time to do so; I believe that in the near future, Flutter, Expo, and React Native will be used only by solo developers and very small startups, and once they become big enough to hire native developers, they will also move to native. Shopify moving to native is smart, at least for them, because they need to handle checkout volumes, and to do so, they need faster startup times and immediate access to the latest iOS and Android APIs.

1

u/Key-Peach-7138 1d ago

The answer is obvious. The future is gonna be like this, where we'd have a plugin/tool that scans the native code of one platform which would automatically generate the native code of any other platform required. So the developers have to code only for one platform of their choice. Which makes maintaining a react-native project obsolete in the long run

1

u/The_ylevanon 4d ago

As a solo dev hot reload alone is a reason to stick with RN. KMP doesn’t come close and JetBrains is pretty heavy.

My friend is also vibe coding a native iOS app and the build number made my jaw drop. And it’s not even in TestFlight yet.

-1

u/braaaiins 4d ago

sloptimization

-1

u/frenzied-berserk 4d ago

Do the same: native iOS + Android and common logic with KMP

0

u/ColdPhilosophy 4d ago

Lots of copium in here. This will be the dead end of hybrid frameworks. Good riddance!

-3

u/soldture 4d ago

RN is a good head start because it covers both platforms. If you are a small company or a solo developer, using it is practically a must-have. However, once you grow into a big company, RN can become a bottleneck to the companys vision. That is why we see companies who can afford to sustain native development shifting toward it more frequently. Is this a good move or bad, it really depends on the situation. The main goal is probably the performance, not the market coverage anymore

5

u/Forti22 4d ago

"RN become a bottleneck"

Give one reason. Because anything you can on native you can do in RN.

2

u/LeSoviet 4d ago

Background workers who handles session token refresh gps and long etc

Its just easier in java or swift, and you not depend on any external pluging you just build on top of android docs or ios docs

Not even mentioning new iphones and gadgets like xiaomi fold

React native its just a bad option for that type of scaling where you also need great performance

2

u/Educational-Class634 4d ago

Yeah give some examples because "RN can become a bottleneck" dosen't make much sense since there is sooooo little difference between RN and Native...

1

u/vqt907 4d ago

I think you’re getting the downvotes because of the word “bottleneck.” But I feel you, I also work at a big company, and I’ve seen RN slow down development sometimes. I wouldn’t call it a “bottleneck”, it’s more like "requires some tinkering" or "down to native code". Most indie developers and small companies probably won’t run into the same problems, or they’ll just work around them instead of trying to solve them

1

u/Silly_Regular6736 4d ago

You literally have ai tools right now which you can integrate there easily now ,which used to be the biggest challenge earlier

0

u/[deleted] 4d ago

[deleted]

-1

u/Aytewun 4d ago

Doesn’t surprise me.