Book Image

UI Animations with Lottie and After Effects

By : Mireia Alegre Ruiz, Emilio Rodriguez Martinez
Book Image

UI Animations with Lottie and After Effects

By: Mireia Alegre Ruiz, Emilio Rodriguez Martinez

Overview of this book

Lottie is a small and scalable JSON-based animation file. LottieFiles is the platform where Lottie animations can be uploaded, tested, and shared. By combining the LottieFiles plugin and the LottieFiles platform, you’ll be able to create stunning animations that are easy to integrate in any device. You’ll also see how to use the Bodymovin plugin in After Effects to export your animation to a JSON file. The book starts by giving you an overview of Lottie and LottieFiles. As you keep reading, you’ll understand the entire Lottie ecosystem and get hands-on with classic 2D animation principles. You’ll also get a step-by-step guided tour to ideate, sketch for storytelling, design an icon that will fulfill the needs and expectations of users based on UX, and finally animate it in Adobe After Effects. This will help you get familiar with the After Effects environment, work with vector shape layers, create and modify keyframes using layer properties, explore path and mask features, and adjust timing easily to create professional-looking animations. By the end of this animation book, you’ll be able to create and export your own Lottie animations using After Effects and implement them in mobile apps using React Native. You’ll also have an understanding of 2D animation best practices and principles that you can apply in your own projects.
Table of Contents (16 chapters)
1
Part 1 - Building a Foundation With After Effects and LottieFiles
5
Part 2 - Cracking Lottie Animations
9
Part 3 - Adding Your Lottie Animations Into Mobile Apps

The imperative API

Sometimes, it's just easier using imperative programming in our app, for example, sometimes we need to play/stop our animation based on user interactions inside the app. For these cases, we can use the lottie-react-native library's imperative API, which allows developers to control the animation playback in a very straightforward way.

React automatically provides the ref prop on all its components and the useRef hook to be used whenever we need to control the component in an imperative way.

The piece of code we wrote in the previous section is actually a good example of how imperative programming makes more sense when we need to directly trigger an action on a component, improving readability and making our code easier to reason about:

import React, {useEffect, useRef} from 'react';
import LottieView from 'lottie-react-native';
import {SafeAreaView, View, StyleSheet} from 'react-native';
 
const numFramesPerFile...