Interactable
Experimental implementation of high performance interactable views
This is an experimental implementation of a declarative API for handling fluid user interactions with views at 60 FPS in React Native. Here are some example use-cases for views that users can interact with. Swipeable card (a la Google Now) springing into place unless swiped away with enough force. Drawer snapping between closed and open with buttons appearing gradually as it's being dragged. Collapsible header that snaps to a smaller size as the content below is being scrolled. Chat heads (a la Facebook Messenger) that can be dragged around but snap to corners of the screen. All of these use-cases have views that continuously interact with the user's gestures. These interactions are normally physical in nature, having properties like springiness, friction, elasticity and damping. In order to feel natural on a touch device they need to run at 60 FPS.