Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Lottie Android | 34,212 | 982 | 55 | a month ago | 86 | July 16, 2023 | 33 | apache-2.0 | Java | |
Render After Effects animations natively on Android and iOS, Web, and React Native | ||||||||||
Lottie Ios | 24,484 | 6,192 | 88 | 3 days ago | 40 | April 27, 2023 | 12 | apache-2.0 | Swift | |
An iOS library to natively render After Effects vector animations | ||||||||||
Cyltabbarcontroller | 6,807 | 172 | a month ago | 113 | August 27, 2021 | 158 | mit | Swift | ||
[EN]It is an iOS UI module library for adding animation to iOS tabbar items and icons with Lottie, and adding a bigger center UITabBar Item. [CN]【中国特色 TabBar】一行代码实现 Lottie 动画TabBar,支持中间带+号的TabBar样式,自带红点角标,支持动态刷新。【iOS13 & Dark Mode & iPhone XS MAX supported】 | ||||||||||
Estabbarcontroller | 4,937 | 39 | 5 months ago | 10 | October 22, 2018 | 27 | mit | Swift | ||
:octocat: ESTabBarController is a Swift model for customize UI, badge and adding animation to tabbar items. Support lottie! | ||||||||||
Alphaplayer | 1,900 | 6 months ago | 2 | May 26, 2021 | 56 | apache-2.0 | Java | |||
AlphaPlayer is a video animation engine. | ||||||||||
React Lottie | 1,472 | 158 | 249 | 10 months ago | 20 | June 14, 2018 | 107 | mit | JavaScript | |
Render After Effects animations on React based on lottie-web | ||||||||||
Lottie Player | 1,347 | 1 | 55 | 3 months ago | 52 | June 09, 2023 | 51 | mit | TypeScript | |
Lottie viewer/player as an easy to use web component! https://lottiefiles.com/web-player | ||||||||||
Lottiexamarin | 1,217 | 48 | 16 | a month ago | 47 | January 30, 2022 | 46 | apache-2.0 | C# | |
Render After Effects animations natively on Android, iOS, MacOS and TvOS for Xamarin | ||||||||||
Vue Lottie | 1,210 | 35 | 49 | 10 months ago | 9 | April 02, 2018 | 55 | mit | Vue | |
Render After Effects animations on Vue based on Bodymovin | ||||||||||
Lottie Flutter | 1,018 | 117 | 21 days ago | 50 | August 08, 2023 | 114 | mit | Dart | ||
Render After Effects animations natively on Flutter. This package is a pure Dart implementation of a Lottie player. |
View documentation, FAQ, help, examples, and more at airbnb.io/lottie
Lottie is a cross-platform library for iOS, macOS, tvOS, visionOS, Android, and Web that natively renders vector-based animations and art in realtime with minimal code.
Lottie loads and renders animations and vectors exported in the bodymovin JSON format. Bodymovin JSON can be created and exported from After Effects with bodymovin, Sketch with Lottie Sketch Export, and from Haiku.
Designers can create and ship beautiful animations without an engineer painstakingly recreating them by hand. Since the animations are backed by JSON, they are extremely small in size but can be large in complexity! Animations can be played, resized, looped, sped up, slowed down, reversed, and even interactively scrubbed. Lottie can play or loop just a portion of the animation as well, the possibilities are endless! Animations can even be changed at runtime in various ways! Change the color, position, or any keyframable value!
Here is just a small sampling of the power of Lottie
Lottie supports Swift Package Manager, CocoaPods, and Carthage (Both dynamic and static).
You can pull the Lottie Github Repo and include the Lottie.xcodeproj
to build a dynamic or static library.
To install Lottie using Swift Package Manager you can follow the tutorial published by Apple using the URL for the Lottie repo with the current version:
or you can add the following dependency to your Package.swift
:
.package(url: "https://github.com/airbnb/lottie-spm.git", from: "4.3.3")
When using Swift Package Manager we recommend using the lottie-spm repo instead of the main lottie-ios repo. The main git repository for lottie-ios is somewhat large (300+ MB), and Swift Package Manager always downloads the full repository with all git history. The lottie-spm repo is much smaller (less than 500kb), so can be downloaded much more quickly.
Instead of downloading the full git history of Lottie and building it from source, the lottie-spm repo just contains a pointer to the precompiled XCFramework included in the latest lottie-ios release (typically ~8MB). If you prefer to include Lottie source directly your project, you can directly depend on the main lottie-ios repo by referencing https://github.com/airbnb/lottie-ios.git
instead.
Add the pod to your Podfile:
pod 'lottie-ios'
And then run:
pod install
After installing the cocoapod into your project import Lottie with
import Lottie
Add Lottie to your Cartfile:
github "airbnb/lottie-ios" "master"
And then run:
carthage update
In your application targets “General” tab under the “Linked Frameworks and Libraries” section, drag and drop lottie-ios.framework from the Carthage/Build/iOS directory that carthage update
produced.
The Lottie SDK does not collect any data. We provide this notice to help you fill out App Privacy Details.
We always appreciate contributions from the community. To make changes to the project, you can clone the repo and open Lottie.xcworkspace
. This workspace includes:
All pull requests with new features or bug fixes that affect how animations render should include snapshot test cases that validate the included changes.
.json
file to Tests/Samples
. Re-run the snapshot tests to generate the new snapshot image files.isRecording = true
in SnapshotTests.swift
setUp()
method and then re-run the snapshot tests.The project also includes several helpful commands defined in our Rakefile. To use these, you need to install Bundler:
$ sudo gem install bundle
$ bundle install
For example, all Swift code should be formatted according to the Airbnb Swift Style Guide. After making changes, you can reformat the code automatically using SwiftFormat and SwiftLint by running bundle exec rake format:swift
. Other helpful commands include:
$ bundle exec rake build:all # builds all targets for all platforms
$ bundle exec rake build📦iOS # builds the Lottie package for iOS
$ bundle exec rake test:package # tests the Lottie package
$ bundle exec rake format:swift # reformat Swift code based on the Airbnb Swift Style Guide