Shopify Dec 27, 2022

Migrating Our Largest Mobile App To React Native

Article Summary

Mauricio de Meirelles from Shopify reveals how they're migrating a 300-screen app to React Native without a full rewrite. The approach they chose might surprise you.

Shopify committed to React Native in 2020, but their flagship mobile app was too large to rebuild from scratch. After initial gradual adoption proved too slow, they pivoted to an aggressive 'Iterative Porting' strategy that balances new features with systematic migration.

Key Takeaways

Critical Insight

Shopify is successfully migrating their largest app (300 screens) to React Native by building all new features in RN while systematically porting existing ones, avoiding a multi-year rewrite freeze.

The deeplink challenge on iOS nearly derailed the project until they made one counterintuitive decision that simplified everything.

About This Article

Problem

When Shopify started migrating their 300-screen app, they found iOS and Android had been built quite differently. Product subtitles rendered differently, permission checks worked in separate ways, and GraphQL queries used different fields on each platform.

Solution

To fix this, teams took an iterative approach. They migrated screens to React Native one at a time, which forced them to standardize the business logic between platforms. These implementation differences had to be aligned before the code could work across both systems.

Impact

Once iOS and Android worked the same way, building new features became much faster. The team no longer had to write the same feature three times: once for native Android, once for native iOS, and once for React Native.

Recent from Shopify

Related Articles