top of page

Shopify Native Mobile Is Back, and AI Changed the Tradeoff

Sep 12
14 min read

Shopify native mobile development is replacing React Native, reversing a six-year strategy after coding agents changed the cost of maintaining two applications. Shopify will build its iOS software in Swift and its Android software in Kotlin. The company says agents can now translate, test, and review enough work to make separate codebases practical.

The decision challenges one of cross-platform development’s strongest promises. React Native lets teams share much of an application’s implementation across iOS and Android. Shopify adopted that model to avoid building features twice, help web developers contribute, and keep both platforms aligned.

Shopify is not declaring React Native slow or unsuccessful. It says the framework delivered the benefits promised by its 2020 mobile decision. The reversal rests on a different argument: AI has reduced the labor saved by sharing implementation, while native software still offers closer access to each platform.

That distinction matters beyond Shopify. If coding agents make parallel implementations affordable, engineering teams must reconsider how they measure code reuse. The valuable shared layer may move from source code into specifications, tests, design systems, and review procedures.

Shopify Native Mobile Replaces a Successful React Native Strategy

Shopify is retiring a successful architecture because the economic assumption beneath it has changed.

The company announced its return to native development on September 10, 2026. Its major mobile products include Shop, Shopify, Point of Sale, and Inbox. Millions of merchants and buyers rely on these applications, according to Shopify.

The company went all-in on React Native in 2020. React Native is Meta’s framework for building iOS and Android interfaces with JavaScript and native platform components. Shopify wanted a common stack that would reduce duplicated development across both operating systems.

Its early results supported that decision. The company reported 95 percent shared code for Arrive, which became Shop, and 99 percent for Compass. One team also felt twice as productive after rewriting Arrive with React Native.

Shopify later moved its largest merchant application toward the framework. That product contained more than 300 screens on each platform. A gradual migration initially appeared safer than stopping feature development for a complete rewrite.

The strategy required substantial organizational investment. Shopify trained native developers through an internal React Native program, created shared foundations, and contributed libraries to the broader ecosystem. It also developed processes for mixing native code with React Native when platform-specific work remained necessary.

By January 2025, Shopify still described React Native’s future as bright. Its five-year review praised Meta’s stewardship and promised further investment in shared foundations. It also promoted a revived working group for companies using the framework.

The new announcement therefore represents a genuine reversal, not a delayed rejection of a failed experiment. Shopify says React Native saved time, expanded who could contribute, and reduced the effort spent chasing feature parity.

However, those benefits carried continuing costs. Teams optimized performance, maintained foundational components, followed framework changes, and managed external dependencies. Shopify considered those costs acceptable while a shared implementation eliminated substantial duplicate work.

Coding agents changed that calculation. Shopify says it has used large language models for software development since 2021. Early uses included implementing features, investigating bugs, fixing problems, and reviewing code.

By late 2025, the company trusted agents with more complex work. Teams began testing whether an iOS implementation could guide an Android implementation, and whether the reverse process worked equally well. Those prototypes pushed Shopify toward separate Swift and Kotlin applications.

The company’s new native strategy still acknowledges the central disadvantage. Native development requires teams to build and maintain software twice. AI has reduced that burden, according to Shopify, but it has not eliminated it.

The move is consequential because Shopify once offered unusually strong evidence for React Native at scale. It did not merely use the framework around a small feature. It migrated large applications, trained teams, built infrastructure, sponsored maintainers, and published reusable libraries.

Now the same company is arguing that implementation reuse no longer deserves the same weight. That is the article’s central tension. Shopify React Native migration history shows the framework worked, while Shopify’s agents weakened the business case for keeping it.

Coding Agents Put Cross-Platform Teams Under Pressure

The immediate pressure falls on organizations that treat shared code as the primary measure of mobile efficiency.

Cross-platform frameworks combine two kinds of leverage. They let developers express behavior once, and they allow companies to organize mobile work around fewer languages and tools. Both advantages reduce coordination costs as well as coding time.

Shopify’s argument directly weakens the first advantage. An agent can inspect an existing iOS feature, produce a corresponding Android implementation, and help verify behavioral parity. The source code differs, but much of the human effort no longer needs to be repeated manually.

That shifts attention toward the second advantage. Separate platforms still require different build systems, dependencies, release procedures, testing environments, and specialized judgment. Agents can assist with those tasks, yet teams remain responsible for every shipped result.

Framework maintainers now face a more complicated value proposition. “Write once” becomes less persuasive when software translation is cheap. Cross-platform tools must demonstrate value through reliability, iteration speed, team mobility, ecosystem quality, and reduced coordination overhead.

Mobile engineering leaders face pressure from the other direction. Executives may interpret Shopify Swift Kotlin development as evidence that every company can abandon its shared codebase. That conclusion would ignore the systems Shopify built around its agents.

Shopify did not ask a model to regenerate an application in one pass. It created structured workflows, review checkpoints, testing tools, and architectural constraints. Experienced engineers remained responsible for requirements, platform decisions, and production quality.

The migration also started with an unusually favorable input: a working React Native product. That application served as an executable specification for screens, interactions, navigation, analytics, and data behavior. Agents were translating defined behavior rather than inventing an entire product.

This distinction puts companies with poorly documented applications under additional pressure. AI-generated ports depend on clear reference behavior and observable outcomes. Ambiguous legacy systems give agents more opportunities to reproduce bugs, omit edge cases, or invent incompatible patterns.

Developers are affected as well. React Native once expanded Shopify’s contributor pool by letting people with web experience work on mobile features. Native code traditionally placed a larger premium on specialized Swift, Kotlin, iOS, and Android knowledge.

Shopify says agents now help engineers contribute outside their primary stack. Familiar declarative interface patterns also made SwiftUI and Jetpack Compose easier for React Native developers to learn. SwiftUI and Jetpack Compose are Apple’s and Google’s modern frameworks for defining interfaces through application state.

That does not make platform expertise optional. Native engineers still understand lifecycle behavior, accessibility, memory, background processing, platform conventions, and release constraints. Generated code can appear correct while creating architectural drift or subtle performance problems.

The forced response is not necessarily a framework migration. Teams now need to recalculate where shared code produces real savings. They also need evidence showing whether agents can preserve quality across two implementations inside their own environment.

For React Native teams, the strongest response will be operational rather than ideological. They can measure update effort, dependency maintenance, crash rates, startup speed, build time, and platform-specific exceptions. Those figures reveal whether shared implementation still pays for its abstraction layer.

For native teams, Shopify’s results raise the standard for proving AI productivity. Code completion alone is insufficient. A credible agentic workflow must preserve analytics, accessibility, navigation, tests, release safety, and consistent product behavior.

The long-term pressure therefore targets both camps. Cross-platform advocates must quantify benefits beyond code reuse. Native advocates must prove that agent-assisted duplication remains maintainable after the excitement of a migration has passed.

The Reversal Is About Reuse, Not React Native Performance

Shopify’s decision separates code reuse from product consistency, treating them as different engineering problems.

React Native historically connected those goals. A shared component or feature usually behaved similarly across platforms because both applications executed much of the same implementation. That relationship reduced the surface area where platform versions could drift.

Shopify’s new model keeps consistency while discarding shared interface code. Teams will use common specifications, tests, design rules, analytics contracts, and review checkpoints. Agents then implement the same intended behavior using each platform’s native framework.

This is a deeper reversal than switching programming languages. The company is moving the source of truth upward. Instead of treating shared code as the main product contract, it treats reviewed intent and observable behavior as the contract.

That approach preserves several native advantages. Developers can use first-party APIs as Apple and Google release them. They can follow platform conventions without negotiating a shared abstraction. They also remove framework and dependency layers between the application and operating system.

The change arrived while Shop faced another large React Native investment. The application needed to adopt the framework’s New Architecture, which changes rendering, native module integration, and boundaries between shared and platform-specific code.

Before making that investment, Shopify tested direct development in SwiftUI and Jetpack Compose. One engineer spent a week using coding agents to migrate as much of Shop as possible into a native iOS prototype.

That prototype was not production-ready. However, it reproduced enough screens, interactions, and application flows to make a full migration appear achievable. Agents performed best when they could work from defined features and visible behavior.

A core group of six engineers then built native foundations and the main Shop journeys. Feature teams joined midway to validate their areas and address edge cases. Shopify moved from proof of concept to native applications in stores within 12 weeks.

Those numbers explain why the reversal became credible. A conventional greenfield rewrite, meaning a new implementation built without carrying the previous architecture forward, can consume years. It can also freeze product development and introduce prolonged parity problems.

Shopify had experienced that challenge in the opposite direction. Its earlier gradual migration toward React Native created a period with three architectures: iOS, Android, and React Native. A 2022 account said the original pace would have required four to five years.

The company chose a greenfield approach for its return to native. It says coding agents could use the existing React Native application as a reference, while the fresh codebases removed old architectural constraints. Prototypes suggested the applications could be rebuilt substantially faster than before.

The Shop results also supplied performance evidence. Shopify reported that the native iOS application reached visible home content in 2,466 milliseconds, compared with 3,200 milliseconds previously. That represents a 23 percent reduction in startup time.

On Android, startup time fell from 4,433 milliseconds to 2,233 milliseconds, a 50 percent reduction. The Android release build also shrank from 293 MB to 184 MB, while the iOS build increased from 67 MB to 68 MB.

Android release build time declined by about 75 percent. Shopify also showed the native Android application reaching 120 frames per second during feed scrolling and navigation on a Pixel device.

Session stability increased from at least 99.5 percent historically to at least 99.95 percent after the native release. Shopify characterized that change as a tenfold reduction in sessions that crash.

These are company-reported comparisons, not independent benchmarks. The migration also included product simplification, with some screens retired and others streamlined. That makes it difficult to attribute every improvement solely to native technology.

Shopify itself avoids that claim. It explicitly says its React Native applications were fast and that React Native remains an excellent framework. Its central argument concerns the relative value of shared implementation after agents reduce duplicate labor.

The distinction prevents a misleading React Native versus native verdict. Shopify is not presenting a universal benchmark for all applications. It is reporting that its team, tools, architecture, and product scale now favor a different balance.

Helix Shows Why the Migration Was More Than Code Generation

Shopify made native duplication manageable by turning migration into a controlled verification loop.

The company found that a one-shot conversion produced too much unmaintainable code. Even detailed upfront specifications did not make an entire automated rewrite reliable. The output could look complete while hiding inconsistent patterns and missing behavior.

Shopify created Helix to divide migration work into small checkpoints. A developer points the system at a screen, and Helix reads the React Native implementation. It then proposes an ordered sequence of work that humans can review quickly.

Each checkpoint must demonstrate its behavior through tests. It also undergoes visual comparison, two adversarial code reviews, and human approval before the next checkpoint begins. Feedback is retained so the workflow becomes more autonomous over time.

This mechanism matters more than raw generation speed. Software migration fails when errors accumulate faster than reviewers can understand them. Small accepted units limit the amount of unverified behavior entering the new application.

Shopify also ran multiple agent sessions in separate worktrees. Specialized subagents inspected existing code, documented behavior, prepared platform plans, implemented features, and reviewed parity. Engineers approved requirements and implementation plans before development proceeded.

Plan acceptance was tied to a hash of the reviewed content. If the plan changed, its previous approval became invalid. That design reduced the chance that an agent would quietly implement a different plan after receiving authorization.

The workflow examined more than visible interface elements. Shopify says its source review covered state, navigation, analytics, accessibility, and data behavior. These areas often contain the hardest migration failures because screenshots alone cannot reveal them.

Analytics preservation was especially important. Recommendations and other downstream systems depended on expected events and contextual fields. A visually correct application could still damage decision systems if event names, counts, or payload relationships changed.

Shopify developed another tool, Tardis, to expose live application events, logs, and state in a structured form. Agents could send commands to the application, investigate issues, inspect navigation, and validate fixes with less manual interaction.

For parity reviews, Tardis captured screenshots and event windows from the React Native and native applications at named checkpoints. Agents compared event fields while accounting for legitimate differences, including timestamps and unique page identifiers.

The architecture also addressed simulator latency. Mobile agents often depend on accessibility trees or screenshots to understand interface state. They can modify code within seconds, then spend several minutes building and testing through a simulator.

Shopify found that this slow loop required frequent human babysitting. React Native’s hot module reloading improved iteration but did not remove the simulator bottleneck. Model capability had limited value when feedback remained slow and brittle.

The company responded by separating business logic from the interface. Headless business logic can run without displaying the application. Shopify exposed that logic through a command-line interface, letting agents exercise it in milliseconds on a desktop.

This is the mechanism behind Shopify native mobile development. Agents did not simply replace six engineers with generated code. Shopify redesigned application architecture, feedback systems, review gates, and testing access around machine participation.

That work changes the apparent economics. Maintaining two implementations becomes cheaper partly because the organization invests in a shared verification system. The common asset is no longer the interface code, but the machinery that describes and checks expected behavior.

The model also resembles how teams can build a searchable record of technical decisions. Specifications, plans, review findings, and test outcomes become reusable context. An engineering knowledge base can help humans trace those decisions across documentation, although it does not replace repository-level testing.

This approach favors large organizations with mature infrastructure. Shopify could create custom tools, maintain extensive automated checks, and assign experienced engineers to architecture and review. A smaller team may gain more from a framework that supplies coordination through shared code.

The real contest is therefore shared implementation versus shared intent. React Native encodes consistency directly in reusable source. Shopify’s new process encodes consistency through specifications, instrumentation, tests, and controlled translation.

Shopify’s Results Do Not Settle React Native Versus Native

A successful 12-week rewrite does not prove that two native codebases will remain cheaper over their full lifetime.

Migration speed is only the opening measurement. The harder test arrives after both applications evolve independently. New features, operating-system changes, emergency fixes, and staff turnover will reveal whether agents can keep the implementations aligned.

Feature parity remains a declared requirement. Shopify says Android and iOS must stay aligned at all times. Previously, shared React Native code enforced much of that condition structurally. The new process must enforce it through development and release controls.

That introduces several failure modes. An agent may create equivalent behavior with incompatible architectural patterns. It may copy an iOS assumption into Android, or preserve a legacy bug because the reference application contains it.

Generated code can also satisfy tests while increasing duplication or technical debt. Shopify acknowledges risks including architectural drift, repeated logic, and performance problems. Repository guidance, linting, static analysis, performance checks, and human review remain necessary.

Native expertise therefore becomes more important, not less. Engineers must judge whether generated Swift follows Apple conventions and whether generated Kotlin fits Android architecture. They must also recognize behavior that a model reproduced faithfully but should not preserve.

The Shop migration benefited from a stable reference implementation. New product development creates a different problem. When neither platform has an accepted version, agents cannot translate behavior from a known source. Teams must first define intent clearly enough for both implementations.

Product discovery can make that difficult. Designers and engineers frequently refine behavior while using an early version. A shared React Native component applies that refinement across platforms immediately, while native teams must propagate and verify it twice.

The performance comparisons require caution too. Shopify rebuilt Shop on a clean foundation and simplified parts of the product. Native frameworks, reduced dependencies, retired screens, and architectural cleanup may all have contributed to the reported gains.

The measurements came from Shopify rather than an independent testing organization. They remain valuable because they describe a production deployment, but they should not become universal ratios. Different applications will have different startup paths, native integrations, and team structures.

React Native continues to offer advantages that coding agents do not erase. A shared implementation reduces the number of places where business logic can diverge. Its ecosystem also provides libraries, debugging practices, deployment tooling, and a large pool of React developers.

Shopify itself has emphasized those strengths. Its previous migration produced shared foundations and helped developers move across applications. The company also said React Native allowed teams to ship value without constantly reconciling platform differences.

The open-source transition adds another uncertainty. Shopify plans to sponsor React Native Skia through the end of 2026, after which maintainer William Candillon will continue it under a new name. The original repository will eventually be archived.

FlashList presents a different path. Shopify says the high-performance list library receives about two million downloads per week. The company intends to fix critical compatibility problems while discussing long-term stewardship with other organizations.

Restyle has a smaller user base and will be archived. Shopify says it will remain functional through the end of 2026, with potential handover support for another maintainer. These transitions create practical planning work for developers who depend on Shopify’s libraries.

They also show why a major user’s departure affects an ecosystem even without discrediting its technology. React Native loses engineering investment, field testing, and institutional advocacy from a prominent adopter. Community stewardship can replace that contribution, but the transfer must succeed.

The company’s broader migration remains incomplete. Shop is the first application to move. The main Shopify application contains more than 300 screens, widgets, an Apple Watch application, complications, and Siri Shortcuts.

Shopify says that application will ship natively later in 2026, with its remaining applications following. Those projects offer a stronger test than Shop because they contain broader platform integrations and merchant-critical workflows.

Until then, the responsible conclusion is narrow. Shopify demonstrated that agent-assisted native migration can work quickly for one major application. It has not yet established the long-term maintenance cost across its complete mobile portfolio.

Three Signals Will Show Whether Shopify’s Bet Holds

The next evidence must show repeatability, sustained parity, and a stable open-source handoff.

The first signal is the native release of the main Shopify application. Its more than 300 screens and extensive Apple integrations make it a harder migration than Shop. An on-time release with preserved functionality would strengthen Shopify’s claim that its method scales.

The quality of that release matters more than the date alone. Startup performance, session stability, build times, accessibility, analytics continuity, and merchant workflows should match or improve upon the React Native version. A delayed or uneven release would weaken the case for rapid greenfield migration.

The second signal is sustained parity after independent feature development begins. Shopify must show that iOS and Android continue shipping equivalent features without growing review delays. Evidence from several release cycles will matter more than migration throughput.

This test reaches the heart of Shopify Swift Kotlin development. Agents can translate a completed feature, but product teams also change requirements during implementation. Consistent analytics and behavior will show whether shared specifications can substitute for shared source over time.

The third signal is the future of Shopify’s React Native libraries. A smooth React Native Skia fork, durable FlashList stewardship, and clear Restyle guidance would support Shopify’s claim that it is managing the exit responsibly.

Disrupted maintenance would tell a different story. It would demonstrate that architecture changes impose costs beyond one company’s repositories. Those costs would fall on developers who made plans around Shopify’s earlier commitments.

Engineering leaders should watch these signals before copying the decision. They should also establish their own baseline for crashes, startup time, application size, build duration, framework maintenance, and parity work.

Then they can run a bounded prototype using a real feature. The test should include analytics, accessibility, navigation, error states, and platform conventions. It should measure review time and defect discovery, not merely generated lines of code.

Shopify native mobile development is important because it reframes reuse for an agentic era. It does not deliver a universal answer about React Native versus native. It offers a demanding question instead: if implementation becomes cheap, where should an engineering organization place its source of truth?

Teams should answer that question with production evidence. Track whether agents reduce total review and maintenance effort across several releases. If they do, separate native applications become more attractive. If coordination grows faster than code generation improves, shared implementation still earns its place.

Give every agent the context to do better work

Connect your agents to the knowledge, decisions, and history already organized in remio.

remio currently supports Windows 10+ (x64) and Macs with Apple silicon.

Your AI Partner at Work
Get more done with remio

Plan. Create. Deliver.
All in one place.

bottom of page