* Given in ReactConf 2017 in Santa Clara on March 13, 2017
The async nature of the React Native bridge incurs an inherent performance penalty. This traditionally prevented JavaScript code to run at high framerates. The most noticeable challenge is animations in JS, which aren't guaranteed to run at 60 FPS.
Modern animation libraries for React Native, like Animated, tackle this challenge with a declarative approach. In order to minimize passes over the bridge, animations are declared in JS but executed by a native driver on the other side.
User interactions are a step further than animations. Interactions require UI to continuously react to the user's gestures. Consider a drawer opening with buttons appearing gradually as it is being dragged, or a card being swiped away. Unfortunately, those are still lagging behind.
We'll demonstrate JS implementations for complex interactions that run at 60 FPS. We'll also demonstrate how to generalize this approach with a library. Similar to Animated - just aimed at interactions, not animations.