Shopify Ditches React Native for Native Development: AI-Driven Code Rewrite Sparks Industry Debate

Shopify ditches React Native for Swift/Kotlin with AI-assisted rewriting, sparking widespread skepticism about its true motivations.
Shopify announced it's migrating its mobile apps from React Native back to native Swift and Kotlin, using AI tools for a large-scale code rewrite — a move that has ignited debate across the tech community. The official rationale of "reducing abstraction layers" rings hollow to many developers for a server-driven UI app. Community theories point to three more plausible motivations: accumulated React Native maintenance pain, better AI tooling support for native languages, and internal promotion-seeking behavior. The deeper significance is that AI has dramatically lowered the cost of large-scale rewrites, reshaping how technology stack decisions are made — while the risks of replacing stable systems with AI-generated code remain very real.
Shopify Returns to Native: A Technical Decision That's Turning Heads
Shopify has announced it's migrating its mobile apps from React Native back to native Swift (iOS) and Kotlin (Android) development. The news has sparked widespread discussion across the tech community. For an e-commerce giant that once championed cross-platform solutions, this kind of "return" is noteworthy in itself — but the fact that it involves a large-scale AI-assisted code rewrite makes the whole decision even more controversial.

As one developer in the community put it: "Choosing to move from a mature, hand-written codebase to one entirely generated by AI, in a language engineers aren't most familiar with… that's certainly a bold choice." This comment neatly captures the broader skepticism: is this a carefully considered technical upgrade, or a risky bet driven by AI hype?
What Does "Native" in React Native Actually Mean?
To understand the significance of this migration, it helps to clear up a common misconception: what does "Native" in React Native actually refer to?
Native UI Rendering, Non-Native Business Logic
Some developers in the community raised the question: "Is React Native really 'native'? I always thought the 'Native' here meant more that it feels and performs like native, runs on a (supposedly) lightweight JS engine, and from the developer's perspective feels like writing native code for an abstract platform."
This gets at something important: React Native's UI rendering does run on the native UI stack, but business logic is executed through a JavaScript runtime. In other words, the interface components users see are genuine native controls — but the logic layer driving those controls sits behind an abstraction layer provided by a JS engine.
It's precisely this abstraction layer that Shopify cited as one of the key reasons for migrating — they want to reduce abstraction levels and bring the app closer to the underlying hardware capabilities of each device.
Does Shopify's Official Reasoning Hold Up?
The community isn't entirely buying Shopify's "reducing abstraction" argument, though.
An App That Doesn't Need Deep Low-Level Access
One developer made a pointed observation: "That explanation sounds a bit vague when you're presenting to upper management — it's not a compelling business case. An app like Shopify doesn't actually need deep low-level access. At its core, it's a relatively simple app that redraws its interface based on server instructions."
This is worth sitting with. For a Server-Driven UI application like Shopify, the vast majority of functionality is just rendering interfaces based on data returned from the backend. Scenarios that genuinely require platform-specific capabilities are fairly limited — things like payments, camera, and push notification APIs. And these happen to be well-solved, mature problems in the React Native ecosystem.
So if the app's core logic doesn't depend on deep hardware access, "reducing abstraction" becomes a weak primary motivation for migration.
Three Real Motivations the Community Suspects
Faced with an official explanation that feels incomplete, developers have floated several more grounded theories.
Motivation 1: Accumulated Pain Points in React Native Maintenance
The first possibility is that React Native's development pain points have simply built up to an unbearable level. For example, new iOS or Android OS releases often break existing functionality, creating a never-ending cycle of compatibility maintenance. That said, skeptics point out that if this were truly the reason, the official announcement would likely have said so directly.
Motivation 2: Better AI Tooling Support for Swift and Kotlin
The second theory has a distinctly modern flavor: AI coding tools may simply have more mature support for native languages. Swift and Kotlin, as mainstream languages, have larger training datasets, which means large language models generate better code for them. While there's no hard evidence for this, it reflects an emerging trend — technology stack decisions are increasingly being shaped by the capability boundaries of AI tools.
Motivation 3: Performance Reviews and Promotion-Driven Technical Decisions
The most widely resonated theory in the community is, ironically, a cynical one: someone is gunning for a promotion. As one developer half-jokingly wrote: "Someone's looking for a promotion. They can show off how much code AI wrote in such a short time — and what better way to pad the numbers than rewriting everything once, or even twice?"
Another comment was even more pointed: "Otherwise, how does the new 'VP of Mobile Innovation' make the jump to 'Executive Senior VP'?" This kind of joke about the relationship between corporate politics and technical decisions captures the complicated feelings many frontline engineers have toward big-company tech pivots.
From Airbnb to Shopify: The Historical Lesson of Maintaining Three Codebases
There's also a technical reality worth highlighting in this discussion: moving to native means giving up the code-sharing benefits of cross-platform development.
One developer noted: "Or they found they needed to maintain three codebases instead of two. Airbnb figured that out the hard way." This references Airbnb's famous 2018 decision to abandon React Native — at the time, Airbnb found that rather than reducing workload, adopting React Native meant simultaneously maintaining native iOS, native Android, and React Native codebases. The overhead wasn't worth it.
This historical case presents an interesting parallel: the "write once, run anywhere" promise of cross-platform solutions often fails to materialize for large, complex applications. When a company chooses native development, they're really making a trade-off between "two native codebases" and "two native codebases plus one cross-platform codebase."
The Economics of Code Rewriting in the AI Era: The Risks Behind Lower Costs
The real novelty of this story may not be the "return to native" itself, but the fact that AI has significantly lowered the cost of large-scale code rewrites.
In the past, completely rewriting a mature, hand-crafted codebase was an extremely high-risk, high-investment undertaking that would typically get vetoed by management. But when AI can rapidly generate large volumes of code, the barrier to rewriting drops considerably. This creates both opportunity — quickly modernizing a tech stack — and risk — replacing a stable, battle-tested system with AI-generated code in a language the team isn't fully comfortable with.
Some developers noted this approach may have been inspired by projects like Bun, which took the approach of "rewriting infrastructure with modern tools." But the maturity and stability of a codebase is itself a form of value. Replacing it with AI-generated code demands careful evaluation of both quality and maintainability.
Conclusion: An Industry Case Study Worth Watching
Shopify's technical pivot is fundamentally a complex decision shaped by multiple overlapping factors: technical trade-offs around abstraction levels, organizational performance incentives, and the transformation of rewrite costs brought on by AI tooling.
Regardless of the true motivations, this case provides the industry with a valuable sample to observe: in an era where AI-assisted programming is becoming mainstream, the logic behind technology stack decisions is being rewritten. The old debate between cross-platform and native development has new variables thanks to AI. Whether Shopify's choice turns out to be a wise technical modernization or a risky bet driven by tooling capabilities and organizational politics — only time will tell.
Related articles

Catalyst: A Vision for an Enzyme-Like Testing Framework for AI Agents
A developer shared Catalyst on Reddit, an Enzyme-inspired framework for AI Agents, exploring why agents need observable, testable dev tools and the design philosophy behind them.

The Real Capability of AI Coding Agents: Best Models Complete Only 35% of Feature Development Tasks
The 'Agents on Rails' benchmark finds top AI models complete only 35% of feature development tasks. What this means for coding agents and developer teams.

How to Prevent Duplicate Refunds After an AI Agent Crashes: CellaFlow's Durable Execution Approach
How can AI agents avoid duplicate refunds after a crash without deadlocking workflows? CellaFlow uses durable execution, shared work identity, leases, and fencing to solve safety and liveness in multi-agent systems.