In September 2026, Shopify announced a full return to native on mobile, rewriting its flagship Shop app from React Native to Swift + Kotlin in just 12 weeks. Six years earlier it had bet six apps on React Native, and as recently as January 2025 it was publishing a five-year victory lap. What overturned the decision wasn't the old performance problems — it was AI coding agents driving the cost of maintaining two native codebases below the "abstraction tax." The math was rewritten.
Five-year celebration last year, Shop back to native in 12 weeks
On September 10, 2026, the Shopify engineering team published a post with a one-line headline: Native is now the future of mobile at Shopify.
All of the flagship mobile products — Shop, Shopify, Point of Sale, and Inbox — made the list, with the return taking the form of Swift for iOS and Kotlin for Android — the dual-native approach native development(writing code separately for iOS or Android without going through a cross-platform framework) the industry talks about. This is a complete pullback, not a partial patch job.
The timeline itself carries a reversal. In January 2025, Shopify had published "Five years of React Native at Shopify" on its own blog, praising Meta's maintenance of the framework and pledging to keep investing. Less than two years after that victory lap, the direction flipped.
The most eye-catching number is the speed. Shopify rewrote the Shop app from React Native to native in just 12 weeks.
The ripples this pullback sent through the mobile community were almost as big as the original 2020 migration. The reason is straightforward: that migration six years ago set the industry direction — Shopify pushed React Native from an experimental framework into the mainstream at big companies. This time, with an equally large footprint, it proved the path can be reversed.
In its announcement, Shopify did not label React Native a failure — it said the framework delivered on the promises made in 2020. The cut landed elsewhere: six years on, the cost of writing two codebases has been rewritten.
For the first time, the bill for this reversal is being paid by AI.
RN's moat was saving person-months — AI filled that moat
In 2020, Shopify bet everything on React Native because "write once, run on two platforms" promised to save person-months. Now that AI makes code cheap enough to run two native teams in parallel, the savings no longer cover RN's abstraction cost.
First, why they bet on RN in the first place. In 2020, Shopify engineering lead Farhan Thawar ran the numbers: 71% of buyers completed their purchases on mobile in Q3 that year, and 69% of Black Friday and Cyber Monday sales came from mobile. Mobile wasn't a supplementary channel — it was the main battlefield. Android, meanwhile, is notoriously hard to handle — device fragmentation, low-end hardware performance, long-tail OS versions — and standing up a separate team might burn time without delivering results.
RN's appeal was concrete: after Shop migrated, 95% of the code could be shared between iOS and Android. 95% meant halving the duplicated work across the two platforms, and web developers could jump in and write mobile code too.
Clubhouse served as a cautionary tale — after its iOS debut, it took 14 months to squeeze out an Android beta and 16 months to launch globally, essentially handing the growth window to competitors. Shopify didn't want to repeat that script.
12 weeks is a counterintuitive number. Native development used to be measured in years — Notion has been on its native path for seven years and still hasn't finished. When Shopify first rewrote the same Shop app using RN, it took multiple quarters, yet switching back to native was faster.
The premise changed: AI coding agents (AI assistants that can automatically write, modify, and test code) have taken over translation, testing, and code review — the work that used to slow down parallel development across both platforms. The cost of maintaining two separate native codebases has plummeted, and cross-platform UI abstraction has gone from an asset to pure negative equity.