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.
Features
- The playground project has few use-cases implemented
- Build and run the example project To see the library in action
- The core of this library is the Interactable.View component
- This library is integrated with the Animated library in order to support performant animations
- Experimental implementation of a declarative API for handling fluid user interactions
- With views at 60 FPS in React Native