Loading…
What We Learned from Open-Sourcing FlashList
2023-10-18
- Source
- Shopify
- Published
- Added to Yomu
Summary
FlashList is Shopify’s React Native list library, created after Shopify’s migration from native technology exposed poor list performance in React Native. The post explains how a four-person team prototyped a library that combined FlatList’s familiar API with RecyclerListView’s performance, while addressing blank spacing and low frame rates on some devices. It also describes a launch planned six months ahead around a landing page, documentation, blog storytelling, social media, conference exposure, and feedback from external users. The post says FlashList was used in production on some Shopify app screens, and the launch achieved 1,000 GitHub stars in less than 24 hours. The broader conclusion is that successful open-source projects require product thinking, user empathy, community building, and a long-term authority-building strategy in addition to code.
Context
During Shopify’s migration of its mobile app from native technology to React Native, list screens performed poorly: items sometimes failed to render while scrolling, scrolling could stop suddenly, and lists were widespread across products, orders, inventory, and collections. The problem put the React Native migration at risk.
Approach / What changed
The team prototyped alternatives using FlatList and RecyclerListView, then developed FlashList to combine FlatList’s API with RecyclerListView’s performance. The open-source launch was planned six months in advance with a landing page, documentation, a blog post, social-media promotion, conference exposure, production use in Shopify apps, external feedback, and community-building efforts.
Takeaways
- FlashList was designed to combine FlatList’s easier-to-understand API with RecyclerListView’s performance.
- The launch plan included a landing page, documentation, blog storytelling, social media, conferences, and feedback from external users.
- The post reports that FlashList reached 1,000 GitHub stars in less than 24 hours after launch.