Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lottie: Animating the bridge between Designers and Developers

Lottie: Animating the bridge between Designers and Developers

Learn how to use Lottie by AirBnb in Android, iOS and Web. Presentation at Fragments 2017.

Chetan Sachdeva

October 28, 2017
Tweet

More Decks by Chetan Sachdeva

Other Decks in Programming

Transcript

  1. Animations in Mobile 1. Building Animations by hand 2. Facebook

    Keyframes 3. GIFs/PNG sequences 4. Animated Vector Drawable (Android) 5. Quartz 2D (iOS) 6. Lottie for Android / iOS / Web / React
  2. Lottie is named after a German film director and the

    pioneer of silhouette animation, Lotte Reiniger. Papageno
  3. Lottie Lottie is a tool by Airbnb that parses Adobe

    After Effects animations exported as json with Bodymovin and renders them on mobile.
  4. “Dropping this into the app felt almost like cheating; I’d

    never implemented a complex animation in so little time.” - Nick Butcher, Google
  5. The Experiment Lottie can build animations in no time while

    creating them by hand can be daunting.
  6. Lottie Android 1. Add Lottie dependency to your app gradle.

    2. Add lottie-file.json to your project assets.
  7. Lottie iOS 1. Add Lottie using Cocoapods or Carthage. 2.

    Add lottie-file.json to your project.
  8. Hands on & • Installing BodyMovin Plugin in Adobe After

    Effects. • Creating an Animation in After Effects and render it using BodyMovin. • Creating cool Animations in Android using Lottie. Lets do some
  9. Pros 1. Simple Workflow 2. Cross Platform 3. Feature &

    API Support (>API 14) 4. Progress / Scale / Speed Control 5. On Demand Animations
  10. There are more.. 6. It supports loading JSON files over

    the network, which is useful for A/B testing. 7. It also has an optional caching mechanism, so frequently used animations, such as a wish-list heart, can load a cached copy each time. 8. Lottie animations can be driven by gestures using the animated progress feature, and animation speed can be manipulated by changing a simple value. 9. Text Delegate for text animations for say Internationalisation. 10.Specify layer and mask it for interactive Animated Transitions or change colour of any layer.
  11. Cons 1. Performance issues with complex animations. 2. Black Boxes

    because of non-readable JSON. 3. Its method count is 1057. Comp MC(Picasso) = 849 and MC(Glide) = 2879. Its dex count is 142. Comp DC(Picasso) = 106, DC(Glide) = 403. 4. Doesn't work with all text animations. Workaround: Convert text to Shapes/Masks. 5. Masks and mattes are less performant as Lottie renders layers using buffer for such animations. Workaround: use lesser frame rate.
  12. Thank You! Nattu [Lead Product Designer at ServisHero] Jaspal Singh

    [Designer at ColorBlind] Garima Jain [Senior Android Dev at Fueled]