Theme

Mobile Guides

Performance

JavaScript is single-threaded and generally is not very performant to deliver as close to 60fps as possible. It is important to leverage native code/apis as much as possible (within reason).


TODO

Notes:

  • We use watermelondb with JSI enable (running on SQLITE)
  • Prefer Flashlist for long lists over react-native's Flatlist
  • Always add a key to any item that is rendered in a loop
  • Prefer smaller pure functional (dumb) components that render the same output given the same inputs
  • Do not sacrifice developer and organization productivity for the same of micro-optimizations
    • When in doubt, add a loading indiator to show the user some computation is working. This is better than making things harder to change in the future (almost always)
Previous
Overview