~/talk

Default to performance

Talkat Chain React 2023 · 2023-05-17..05-19· [react-native, web-performance]
github:ubercolin
slides:none on file

Shopify defaults to performance with concrete choices: use Flash List full stop and avoid ScrollView/FlatList; measure in production with a native marker view and end-to-end performance tests; use state per feature with separate repos, reference-counted shared stores and a local-store option; provide stable callbacks via a small useActions pattern and lint rules for referential stability; a tiny off-screen freeze shim slashes sub-screen load from hundreds of milliseconds to near-instant; Kotlin Multiplatform handles the POS database; several libraries and tools are planned to be open sourced.

AI-written summary · about

  1. 0:00Introduction
  2. 3:40Shopify mobile app React Native
  3. 6:54Migrating to React Native
  4. 8:23Performance mindset in production
  5. 13:00Sensible React Native defaults
  6. 15:11Custom performance tools
  7. 17:40State management for performance
  8. 21:15Shared state memory management
  9. 24:04Stable hooks rules
  10. 27:35Stable callbacks with actions
  11. 31:04Flash List optimization
  12. 34:38Off-screen freezing tricks
  13. 36:46useQuery batching issues
  14. 38:11Skia advanced UI closing
~/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.