In 2020, Shopify decided to switch to React Native for both new and existing apps. In November 2024, the migration of their mobile app was officially over, resulting in a remarkable 86% unification of code across platforms and a streamlined development process that stems from eliminating 1.8 million lines of redundant code, reducing build times, and achieving seamless feature parity between iOS and Android.
Let’s take a closer look at the decision-making process involved in this transformation with Mike Grabowski ( https://twitter.com/grabbou ) as our host and Mustafa Ali ( https://twitter.com/mustafa01ali ), Shopify's Director of Engineering, as his guest.
Learn about the motivations for this change, such as reducing duplicated efforts and enabling seamless developer collaboration across web and mobile, the challenges faced, particularly in optimizing performance for their high-usage point-of-sale app, and the essential role of native developers in ensuring exceptional app performance and user experience.
Check out episode resources on our website 🧠 https://hubs.li/Q031_HNC0
Download free React Native Migration Guide 📖 https://hubs.li/Q031_Hxy0
Share your feedback on this episode ✨ https://bit.ly/feedback46
Get your React Universe Conf 2025 tickets 🎟 https://hubs.li/Q030Y5mp0
Check out other episodes of our podcast 🎧 https://hubs.li/Q031_Qmf0
Follow us on X 🐦 https://twitter.com/callstackio
Chapters
00:00 Welcome to the React Universe
00:18 Meet our guest: Mustafa Ali
00:55 Mustafa's role at Shopify
02:00 Evaluating other technologies and choosing React Native
03:20 Motivation for change and benefits of React Native
05:40 Native engineers’ role and reactions to migration
09:35 Prototyping for React Native migration
12:38 Tracing the migration path for least disturbance and biggest impact
15:02 Various migration approaches at Shopify
17:27 Brownfield from Shopify’s experience
18:30 Factoring React Native limitations into the migration journey
20:30 Role of Open Source
23:28 Migration timeline at Shopify: Expectations vs. reality
25:15 The first and last React Native screens
27:50 Codebase changes in numbers
31:04 Code-sharing with React on web and other platforms
34:10 React Native’s impact on development workflow
36:12 Consistency and user experience across platforms
37:35 Advice for other businesses planning migration to React Native
39:40 Most exciting changes in React Native
41:13 Conclusion and final thought