In 2020, we announced that React Native is the future of mobile at Shopify. As part of that journey, we’ve been migrating Shopify Mobile (our largest app at 300 screens per platform) from native to React Native. Here’s how it’s going.
Overview
The article discusses Shopify's migration of its largest mobile app to React Native, detailing the challenges faced, strategies employed, and the benefits realized from this transition. It emphasizes the importance of a gradual migration approach and the training provided to engineers to facilitate this shift.
What You'll Learn
How to gradually migrate a mobile app to React Native without a full rewrite
Why training and upskilling engineers is crucial for successful technology transitions
How to prioritize features for migration using the RICE scoring model
Prerequisites & Requirements
- Extensive experience building mobile apps using Kotlin and Swift
- Basic understanding of React and JavaScript(optional)
Key Questions Answered
What approach did Shopify take to migrate their mobile app to React Native?
What were the main challenges faced during the migration process?
How did Shopify ensure engineers were prepared for React Native development?
What criteria did Shopify use to prioritize features for migration?
Key Statistics & Figures
Technologies & Tools
Some links below are affiliate links. We may earn a commission if you make a purchase.
Key Actionable Insights
1Adopt a gradual migration strategy to minimize disruption during technology transitions.By implementing features in React Native while migrating existing ones, Shopify maintained continuous development and avoided halting new feature releases.
2Invest in training programs for engineers to ensure successful adoption of new technologies.Shopify's RN Accelerator program equipped engineers with the necessary skills to work with React Native, facilitating a smoother transition and reducing the learning curve.
3Utilize a prioritization framework like RICE to effectively manage migration efforts.This framework helped Shopify systematically assess and prioritize features based on their potential impact, ensuring that resources were allocated efficiently.