Five years in, Shopify's bet on React Native has paid off

In 2020, Shopify announced that React Native (RN) would be the future of mobile development at the company. The reasoning came down to three goals: build features once instead of twice, let developers move fluidly between platforms, and shift engineering time from chasing feature parity to shipping user value.

Five years later, the company says the transition has delivered on those promises. Shopify reports that all of its apps have now been migrated to React Native, with screen loads under 500ms at P75 and over 99.9% crash-free sessions. Teams no longer maintain parallel iOS and Android implementations, and engineers can work across web and mobile without retraining.

Rather than forcing a single migration strategy, each app team chose when and how to move. That preserved feature velocity while still aligning with the broader RN direction.

What actually changed

Performance stopped being the excuse

Shopify's biggest hesitation about React Native was performance. Extensive prototyping before the switch, combined with Meta's work on eliminating framework bottlenecks, convinced the team that RN could meet its targets. That bet has held up. The company reports that achieving sub-500ms screen loads required deliberate work, but that the same is true for native. "Native doesn't automatically mean fast, and React Native doesn't automatically mean slow," the engineering team writes.

Hot reloading changed the daily workflow

Native development at Shopify's codebase scale meant multi-minute compile times for even trivial changes. React Native's hot reloading eliminated that wait entirely, removing a constant source of context-switching and frustration.

TypeScript made cross-platform work real

The shared TypeScript and React knowledge between web and mobile has been the key to talent portability. Web developers can pick up RN much faster than native iOS or Android, and RN mobile developers can contribute to web projects. That flexibility increases staffing options and opens code-sharing opportunities between platforms. It also shifts team culture toward treating technologies as tools rather than identities.

Native expertise still carries the team

Shopify is emphatic that native specialists are irreplaceable. Platform-level bindings, build and release management, distribution, device-specific performance tuning, and adoption of new iOS and Android APIs all require deep native knowledge. The company trained its native mobile engineers in RN through an internal self-serve course, supplemented by office hours for pair programming and code reviews. Web developers were brought in for their JavaScript, TypeScript, and React strength. The mix, Shopify says, is what makes a good RN team.

Pure React Native is an anti-goal

Shopify's position is that some features should always be native. Cutting-edge hardware integration like 2D/3D scanning and on-device AI, memory-constrained surfaces like widgets and Apple Watch complications, and long-running background work are all better served by native code. The company's Point of Sale app, for instance, offloads heavy data sync to native background processes so transaction processing stays unaffected. "Think native and React Native," not native or React Native.

What still hurts

Debugging and upgrades remain rough edges

Debugging in React Native is still flaky, and configuring it properly in VSCode takes effort — a contrast with the turnkey debugging tools on iOS and Android. Shopify notes Meta's full rewrite of the RN debugger stack looks promising and says it is collaborating on that effort.

React Native version upgrades are another known cost. Each update can require significant restructuring, which Shopify handles by rotating a small group of developers through the work while the rest of the team ships features. Wider adoption of the New Architecture is expected to ease this over time.

Third-party dependencies add overhead

The RN framework is leaner than native SDKs, so teams lean more on third-party libraries. The ecosystem is mature enough that well-maintained options exist for most needs, but maintaining those dependencies adds ongoing work and expands supply chain attack surface. Shopify has responded with automated dependency updates via Dependabot and automated code scanning. The company says it would welcome a more opinionated framework with more capabilities built in.

Shared foundations came second, deliberately

Shopify's early RN apps were built without the shared native infrastructure the company had accumulated over years. Each team initially solved problems its own way. That was a conscious tradeoff, the company says — optimizing for speed of migration over consistency. "We were beginners again," the team acknowledges.

By the end of 2023, the apps had matured enough to start consolidating. Shopify has since been extracting common components like Identity, real-time monitoring, and performance measurement into shared libraries. That work continues through 2025, and the company says it is paying off in reduced duplicated effort and automatic distribution of improvements across all apps.

The next five years

Shopify is bullish on React Native's trajectory, crediting Meta as a strong steward. The company plans to adopt the New Architecture and expects performance work to keep getting easier.

Its contributions to the ecosystem are concrete: code contributions to RN itself, co-release captain duties, sponsorship of React Native Skia and Reanimated, and open-source releases like FlashList, Restyle, and Tophat. In 2025, Shopify is also restarting the React Native Working Group, which previously included Meta, Twitter, Coinbase, and Microsoft. The group's goal is to surface ecosystem-wide challenges, prioritize investment, and reduce duplicated efforts across companies.

The overall message a half-decade in: many of the limitations that kept teams from adopting React Native have faded, and Shopify plans to keep pushing on the ones that remain.