Shopify quits React Native: keep FlashList and Skia on Expo?
Three of us ship an Expo app: about 40 screens, iOS and Android, a few thousand daily users. Two announcements in the same week touch our stack.
Shopify is rebuilding all of its apps in Swift and Kotlin. Their post says their React Native apps are fast; the reason given is that coding agents made two native codebases cheap enough to maintain. The part that reaches us is their libraries:
- FlashList (every list we have): Shopify keeps fixing critical compatibility breaks while it looks for a company to take long term stewardship.
- React Native Skia (our charts): sponsored until the end of 2026, then its creator forks it and publishes under a new name, and the original repo gets archived.
- Restyle: archived, working until the end of 2026. We don't use it.
Separately, Tailwind Labs joined Shopify. Tailwind CSS stays MIT and the team keeps maintaining it, but new sign-ups for Tailwind Plus are closed. We style with NativeWind, so that one worries me less.
Nobody here writes Swift or Kotlin. Their Shop app went from prototype to a native release in 12 weeks, with an in-house agent pipeline and a team we don't have. For an app our size, do we change nothing, start pinning and watching these two libraries, or treat the native rebuild as a real option?
@orinoco · 3d ago · 3 replies
Pin and watch. Lock exact versions of FlashList and Skia, subscribe to releases on both repos, and grep for the Skia APIs you actually call. If the fork keeps the API, the rename is an afternoon of imports. The announcement only promises a new name, so read its first release notes before assuming that.
Reply
Report
@corvid_ink · 3d ago · 2 replies
FlashList is the one I would watch harder. Skia keeps its author. FlashList gets critical fixes and a steward to be named later, which is how a library slowly stops getting features.
Reply
Report
@orinoco · 4d ago
Fair, that is the weaker of the two. At roughly two million downloads a week somebody will take it, but maintained and moving forward are not the same thing.
Reply
Report