~/talk

Improving Shopify App's Performance

Talkat App.js Conf 2024 · 2024-05-22..05-24· [react-native, web-performance]
slides:none on file

Shopify mobile admin cuts cold-start p75 from ~4s to ~2s and navigation p75 from ~1400ms to ~500ms by fixing three concrete problems. Excessive initial rendering is solved by a custom lazy scroll view (built on FlashList) that renders only what's visible, horizontal lists migrate to FlashList, and screens are frozen when backgrounded to avoid rerenders (up to 70% faster navigations). Global batched setState reduces render events ~4x (~30% faster), caching + preloading doubles cache-hit effectiveness and cuts screen loads 59%.

AI-written summary · about

  1. 0:00Introduction and goals
  2. 1:03Slow load times problem
  3. 3:35Three performance issues
  4. 5:22Lazy scroll view solution
  5. 7:49Horizontal list optimization
  6. 10:36Unnecessary background updates
  7. 12:04Restyle library speedup
  8. 13:29Batching setState calls
  9. 15:53Caching strategies
  10. 18:44Performance improvements results
  11. 19:26Final performance demo
  12. 20:51Conclusion and resources
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.