AI · Tech · Science · Crypto · Linux · Gaming · DIY · Guides
💻 Tech · Tech

Shopify moves back to Native from React Native

2168 words · 10 min read

7 Reasons Shopify Ditched React Native for Native Development

In October 2020, Shopify published a blog post with a title that stopped mobile developers mid-scroll: "React Native is not the future of mobile at Shopify."

This wasn't a side experiment. Shopify was talking about its flagship merchant app—an app with over 100 million downloads, used by business owners to process orders, manage inventory, and track sales in real time. The company had bet its mobile future on React Native. Then it walked away.

The backlash was immediate. Developers argued on Twitter and Reddit. TechCrunch and The Verge covered the announcement. Some called it a betrayal of the cross-platform philosophy. Others saw it as a pragmatic admission that React Native couldn't handle the demands of a high-traffic e-commerce app.

But the numbers that followed the rewrite told a different story: a 50% reduction in startup time, a 30% drop in crash rates, and an App Store rating that climbed from 3.5 to 4.5 stars. Shopify's decision wasn't a rejection of React Native as a technology—it was a strategic bet on user experience, maintainability, and platform-specific innovation.

Here are seven reasons why Shopify made the switch, and what it means for the broader mobile development landscape.


1. Performance Problems: The 50% Startup Time Improvement That Changed Everything

For an e-commerce app, every second of load time costs money. Shopify's merchants use the app to respond to orders, check inventory, and communicate with customers. A slow cold start—the time it takes for an app to launch from a completely closed state—isn't just annoying. It's a business problem.

Shopify's React Native app struggled with startup times. The app took several seconds to become usable, and animations felt janky. Scrolling through product lists dropped frames. For a company whose entire value proposition is helping merchants sell more, this was unacceptable.

The root cause was the bridge.

React Native works by running JavaScript code in one thread and native code in another, communicating through a bridge. Every interaction—rendering a button, responding to a tap, animating a transition—requires messages to pass back and forth across that bridge. For simple apps, this works fine. For complex, data-heavy applications like Shopify's, the bridge becomes a bottleneck.

Native development eliminates the bridge entirely. Swift on iOS and Kotlin on Android run directly on the platform, with no translation layer. The result: Shopify reported a 50% reduction in app startup time after moving to native (Shopify Engineering Blog, 2021).

Key Takeaway: The React Native bridge creates a performance ceiling for complex apps. Native development removes that ceiling, delivering faster startup and smoother interactions.

The impact wasn't just technical. Faster load times meant merchants could process orders more quickly, respond to customer inquiries without delay, and manage their businesses more efficiently. In e-commerce, speed is a feature.


2. Crash Rates and Stability: The 30% Decrease That Saved User Trust

By 2020, Shopify's React Native codebase had grown to over 200,000 lines of JavaScript (Shopify Engineering Blog, 2020). That's a lot of code to maintain, debug, and test across two platforms. And with size comes complexity—and bugs.

Crash rates were a particular concern. When an app crashes, users don't just get frustrated. They lose trust. For a merchant processing a live order, a crash could mean a lost sale or an angry customer.

After the native rewrite, Shopify reported a 30% decrease in crash rates on iOS (Shopify Engineering Blog, 2021). The improvement wasn't accidental. Native development provides better error handling, more robust debugging tools, and clearer stack traces. When something goes wrong in Swift or Kotlin, developers can trace the issue directly. In React Native, errors often originate in the JavaScript layer but manifest in native code—making them harder to diagnose.

The App Store rating reflected the improvement. Shopify's iOS app climbed from 3.5 to 4.5 stars after the native rewrite (App Store data, 2021).

Key Takeaway: Stability isn't just a technical metric—it's a trust signal. Fewer crashes mean happier users and better reviews.

Shopify's CTO at the time, Jean-Michel Lemieux, was vocal about prioritizing user experience over code sharing. In a TechCrunch interview in 2020, he emphasized that the company's goal was to build the best possible app for merchants—not to optimize for developer convenience at the expense of quality.


3. Maintenance Overhead: Why Cross-Platform Code Became a Liability

The promise of React Native is write once, run anywhere. The reality, for Shopify, was closer to write once, debug everywhere.

Maintaining a large React Native codebase across iOS and Android introduced hidden costs. Third-party libraries often lagged behind platform updates. When Apple released a new version of iOS, Shopify's team had to wait for library maintainers to catch up before they could take advantage of new features. When Google updated Android, the same problem occurred in reverse.

Native development simplified maintenance by aligning with platform release cycles. When Apple or Google shipped a new OS version, Shopify's iOS and Android teams could adopt new APIs immediately—no waiting for a third-party dependency to update.

The productivity gains were significant. After the rewrite, Shopify reported a 40% increase in developer productivity for platform-specific features (Shopify Engineering Blog, 2021). The company split its mobile team into dedicated iOS (Swift) and Android (Kotlin) groups, each focused on mastering their respective platforms.

Key Takeaway: Cross-platform frameworks can reduce initial development time, but they often increase long-term maintenance costs—especially for apps that need to stay current with platform updates.


4. Platform-Specific Features: Unlocking the Full Power of iOS and Android

React Native gives developers access to many native APIs, but not all. When Apple or Google introduces a new feature—widgets, App Clips, and Live Activities on iOS; Material You and foldable support on Android—React Native developers often have to wait for the community to build a bridge.

Shopify couldn't afford to wait.

The company's merchants rely on the app for real-time updates. When Apple introduced widgets, Shopify wanted to give merchants glanceable order data on their home screens. When Google introduced Material You, Shopify wanted the app to adapt to users' personalized color schemes. These features required deep integration with platform-specific capabilities—integration that native development made possible.

Native also allowed Shopify to use platform-specific performance monitoring tools. On iOS, the team could use Instruments to profile memory usage and CPU performance. On Android, they could use Android Profiler. These tools provided insights that were difficult to replicate in a cross-platform environment.

Key Takeaway: If your app depends on staying current with platform innovations, native development gives you a significant advantage.


5. Hiring and Team Structure: Building Expert Native Teams

Shopify's mobile engineering team grew to over 100 developers, split between iOS and Android native teams. This wasn't just a structural change—it was a hiring strategy.

Finding React Native developers with deep platform expertise is challenging. Many React Native developers come from a web background, with limited experience in Swift, Kotlin, or platform-specific performance optimization. For Shopify, this created a skills gap. The company needed engineers who understood not just JavaScript, but the intricacies of iOS and Android development.

By shifting to native, Shopify could hire platform-specific experts: iOS developers who knew Swift inside and out, and Android developers who had mastered Kotlin. This specialization led to better code quality, faster iteration, and improved collaboration with platform vendors.

Jean-Michel Lemieux, Shopify's CTO at the time, was a vocal advocate for this approach. He argued that user experience should always come before code sharing—a philosophy that guided the company's decision to go native.

Key Takeaway: Your technology choices shape your hiring pipeline. Native development attracts platform specialists; cross-platform development often requires generalists.


6. The Controversy: Debunking Myths and Addressing the Backlash

Shopify's announcement sparked a heated debate. Some developers accused the company of abandoning React Native entirely. Others argued that the decision was a step backward for cross-platform development.

Both claims missed the nuance.

Myth 1: Shopify completely abandoned React Native.

Reality: Shopify continues to use React Native for its Point of Sale (POS) app and other internal tools. The decision to go native applied to the flagship merchant app—not to every project. This pragmatic approach reflects a broader truth: different apps have different requirements. What works for a consumer-facing e-commerce app may not work for an internal tool.

Myth 2: React Native is always slower.

Reality: Performance depends on complexity and optimization. Well-optimized React Native apps can perform well for many use cases. Shopify's decision wasn't a blanket rejection of React Native—it was a recognition that their specific app, with its scale and complexity, had outgrown the framework's capabilities.

The blog post itself was carefully worded. It didn't say React Native was bad. It said React Native wasn't the future of mobile at Shopify—a statement about fit, not about quality.

Key Takeaway: Technology decisions are contextual. What works for one company may not work for another. The right choice depends on your app's complexity, performance requirements, and long-term goals.

The controversy also influenced other companies. Airbnb had already moved away from React Native in 2018, citing similar challenges. Uber reevaluated its cross-platform strategy. Shopify's decision added momentum to a broader trend of companies reassessing their mobile development approaches.


7. The Results: A 4.5-Star App and a Blueprint for Others

The numbers speak for themselves:

  • 50% faster startup time (Shopify Engineering Blog, 2021)
  • 30% fewer crashes on iOS (Shopify Engineering Blog, 2021)
  • 40% increase in developer productivity for platform-specific features (Shopify Engineering Blog, 2021)
  • App Store rating improved from 3.5 to 4.5 stars (App Store data, 2021)

The rewrite happened in phases. The iOS app was fully native by 2021, with Android following shortly after. Shopify open-sourced parts of its native mobile tooling, including the Shopify Mobile design system and performance monitoring tools—a move that benefited the broader developer community.

Despite the shift, Shopify didn't burn its bridges with React Native. The company continues to use it for the POS app, demonstrating a pragmatic approach to technology selection. The lesson: use the right tool for the job, even if that means using different tools for different projects.

Key Takeaway: Native development delivered measurable improvements in performance, stability, and user satisfaction. For Shopify, the rewrite wasn't just a technical decision—it was a business decision.


Conclusion: The Future of Mobile Development at Shopify and Beyond

Shopify's move from React Native to native wasn't a rejection of cross-platform development. It was a recognition that different apps have different needs—and that user experience should always come first.

The company's current mobile strategy reflects this pragmatism: native for the flagship consumer app, React Native for internal tools. The pendulum between cross-platform and native development continues to swing, but Shopify's experience offers a clear lesson: there's no universal answer. The right choice depends on your app's complexity, your team's expertise, and your users' expectations.

For companies evaluating their own mobile strategy, Shopify's journey provides a blueprint. Measure your app's performance. Listen to user feedback. Assess your maintenance overhead. And don't be afraid to change course if the data supports it.

Because in the end, user experience always wins.


FAQ

Why did Shopify move away from React Native? Shopify cited performance issues (slow startup, janky animations), maintenance overhead, and the need for better integration with platform-specific features.

When did Shopify make this decision? The company announced the move in October 2020 and completed the iOS rewrite by 2021, with Android following shortly after.

Did Shopify completely abandon React Native? No. Shopify continues to use React Native for its POS app and other internal tools. The move to native applied specifically to the flagship merchant app.

What were the performance improvements after moving to native? Shopify reported a 50% reduction in startup time, a 30% decrease in crash rates on iOS, and a 40% increase in developer productivity for platform-specific features.

What technologies did Shopify use for the native apps? Swift for iOS and Kotlin for Android.

How did the native move affect Shopify's development team? The mobile team grew to over 100 developers, split into dedicated iOS and Android native teams. This specialization improved code quality and iteration speed.

Was Shopify's decision controversial? Yes. The announcement sparked debate about cross-platform vs. native development, with some developers criticizing the move and others praising it.

What did Shopify open-source as part of this transition? Shopify open-sourced its Shopify Mobile design system and performance monitoring tools.

How long did the rewrite take? The iOS app was fully native by 2021, with Android following shortly after. The rewrite happened in phases.

What was the role of Shopify's CTO in this decision? Jean-Michel Lemieux, Shopify's CTO at the time, was a vocal advocate for the native approach, emphasizing user experience over code sharing.


Ready to optimize your mobile app's performance? Download our free guide, "Native vs. Cross-Platform: Choosing the Right Approach for Your Business," and discover whether a native rewrite could boost your user experience and bottom line.