WhoBuilt

Demystifying complex animations creation process in React Native

Sep 14, 2018· 28 min· 1.0K views·Watch on YouTube

Speaker

Independent consultant Vladimir Novick speaks about designing and building animations for React Native at React Native Europe.

Use animation to guide users

Novick argues that animation should help people understand an app, navigate it, and follow its flow. Good animation can reduce cognitive load, while flashy or unexpected effects can create friction and distract users. He compares recognizing a drawn square with processing a lengthy verbal description of one.

Choose animations that respond to actions

Novick distinguishes state-driven animations, such as a modal that simply fades in and out, from action-driven animations that show what a user did. A form that flies in from the right and closes toward the same corner gives users a clearer hint about what happened. Small details, such as a chat message appearing from below or an inbox number rotating, can make an interface feel more natural.

Break complex motion into parts

To make a complex design manageable, Novick recommends separating it into animation types and visual changes. His example includes micro-interactions, screen transitions, parallax scrolling, gesture animations, and on-scroll headers, plus changes in scale and position. He uses React Navigation Fluid Transitions to animate shared images between screens and Animated values to drive a horizontal parallax effect.

Pick tools for the animation

Novick cautions that interpolation needs carefully chosen ranges, pointing to common header-animation bugs as an example. For gestures, he describes how PanResponder uses JavaScript, while Gesture Handler with Reanimated can process gestures natively. For elaborate artwork, Lottie can help, but exported JSON may be large, malformed, crash apps, or lack support for 3D.

Keep motion useful and familiar

Novick advises developers to discuss a design’s intent with designers and listen to QA, since what seems obvious to a developer may confuse users. He recommends avoiding complexity that mainly serves a portfolio or technical challenge. Teams can refine familiar patterns while preserving what users already recognize.

Takeaways

  • Give each animation a clear job: explain an action, show a state change, or guide navigation.
  • Break a complex motion design into transitions, scrolling, gestures, micro-interactions, and individual style changes.
  • Review animation behavior with designers and QA to catch interactions that are unclear to users.
  • Use Reanimated with Gesture Handler when gesture performance matters, and check Lottie exports for size and compatibility.
  • Favor familiar, fluid motion over effects that add distraction or cognitive friction.

Mentioned in this talk

Search inside this talk

What was claimed 5

Related talks