Lottie: Was es ist, Animationen und wie es auf mobilen Plattformen funktioniert

Autor: IT Sectr Veröffentlicht: 2026-05-04 Lesezeit: 8 Min.

Lottie ist eine Open-Source-Bibliothek zum Rendern von Adobe After Effects-Animationen in mobilen und Web-Anwendungen. Animationen werden über das Bodymovin-Plugin in das JSON-Format exportiert und nativ auf iOS, Android, Flutter und Web ohne Qualitätsverlust abgespielt. Laut Airbnb Design – Lottie wird die Bibliothek in über 100.000 Anwendungen verwendet und ersetzt schwere Videodateien und GIFs durch ein leichtes Vektor-Format.

Wichtige Punkte

  • Lottie – Airbnbs Bibliothek zum Rendern von After Effects-Animationen auf mobilen Plattformen und im Web.
  • Bodymovin – ein After Effects-Plugin, das Animationen in das JSON-Format exportiert.
  • JSON-Schema Lottie beschreibt Ebenen, Formen, Keyframes und Interpolationskurven.
  • iOS-Integration – LottieView aus dem Swift Package Manager für SwiftUI und UIKit.
  • Android-Integration – LottieAnimationView in XML über Gradle-Abhängigkeit.

Was ist Lottie und wie funktioniert es

Lottie ist eine Open-Source-Bibliothek, die 2015 von Airbnb entwickelt wurde, um Vektor-Animationen in Echtzeit zu rendern. Der Entwickler erstellt eine Animation in Adobe After Effects, exportiert sie über das Bodymovin-Plugin nach JSON, und Lottie spielt dieses JSON auf dem Zielgerät ab, indem es Ebenen, Formen, Transparenz und Animationskurven interpretiert.

Anders als Videodateien oder GIFs ist Lottie auflösungsunabhängig – die Animation wird vektoriell gerendert und sieht auf Geräten mit beliebigem DPI gleich aus. Eine JSON-Animation ist im Durchschnitt 5-10 Mal kleiner als ein äquivalentes GIF oder Video, was für mobile Anwendungen mit begrenzter Bandbreite entscheidend ist.

Laut Airbnb Engineering reduzierte die Einführung von Lottie die Animationsgröße in der App um 80 % im Vergleich zu Precomposed-Videosequenzen, bei gleichbleibenden 60 FPS auf allen unterstützten Geräten. Heute wird Lottie auf iOS, Android, Flutter, React Native, Web (HTML Canvas und SVG) und Desktop-Plattformen unterstützt.

Die Leistung von Lottie beruht auf nativem Rendering: Unter iOS wird Core Animation mit CALayer verwendet, unter Android – ein eigener Canvas-Renderer in C++ über JNI. Dies ermöglicht das Abspielen komplexer Animationen mit Dutzenden von Ebenen ohne Bildausfälle selbst auf Mittelklasse-Geräten. Anders als WebView-basierte Lösungen (GIF, APNG, Video) erzeugt Lottie keinen separaten Render-Prozess und verbraucht keinen zusätzlichen Speicher für die Frame-Dekodierung.

Verwenden Sie Lottie für Lade-Indikatoren, Symbole mit Mikrointeraktionen, Onboarding-Bildschirme und festliche Promo-Animationen, bei denen Flüssigkeit und geringe Dateigröße wichtig sind.

Das Lottie-Ökosystem umfasst offizielle Player für acht Plattformen, den LottieFiles-Editor zur Vorschau im Browser und einen Marktplatz mit Tausenden von fertigen Animationen. Der Entwickler kann ein JSON herunterladen, in ein Projekt integrieren und Farben und Geschwindigkeit an das Designsystem anpassen, ohne After Effects öffnen zu müssen. LottieFiles bietet auch ein SDK für eine beschleunigte Integration mit der Möglichkeit, Animationen über einen AIR-Link zu laden, was Animations-Updates auf Geräten ermöglicht, ohne eine neue App-Version im App Store oder Google Play zu veröffentlichen.

Lottie JSON-Format und Bodymovin

Das Lottie JSON-Schema ist ein offener Standard zur Beschreibung von Vektor-Animationen, bestehend aus drei Ebenen: Komposition, Ebenen und Formen. Die Komposition enthält Metadaten: Leinwandgröße, Bildrate und Dauer.

JSON-Struktur

Das Wurzel-JSON-Objekt enthält das Feld layers – ein Array von Animationsebenen. Jede Ebene kann eine Shape-Ebene, Image-Ebene, Text-Ebene oder PreComp-Ebene sein. Für jede Ebene werden Transform-Eigenschaften definiert: Position, Skalierung, Rotation und Deckkraft, die an Keyframes gebunden sind.

js
const animationData = {
    "v": "5.5.2",
    "fr": 60,
    "w": 200,
    "h": 200,
    "layers": [{
        "ty": 4,
        "nm": "Circle",
        "shapes": [{
            "ty": "el",
            "p": { "k": [100, 100] }
        }]
    }]
}

Keyframes werden als Arrays mit Zeitstempeln, Werten und Bezier-Kurven zur Interpolation definiert. Bodymovin konvertiert automatisch After Effects-Kurven in ein Lottie-kompatibles Format und bewahrt Timing und Easing-Funktionen mit Frame-genauer Präzision.

Bodymovin – Export-Plugin

Bodymovin ist eine Adobe After Effects-Erweiterung, die eine Komposition in eine Lottie-JSON-Datei exportiert. Das Plugin unterstützt die meisten After Effects-Funktionen: Formen, Masken, Effekte, Textebenen und Tracking. Einschränkungen gelten für 3D-Ebenen und einige Plugins – sie werden nicht exportiert und erfordern eine Vereinfachung der Animation auf 2D.

Lottie-Integration auf iOS

Auf iOS wird Lottie über Swift Package Manager, CocoaPods oder Carthage integriert. Die Hauptklassen sind LottieView für SwiftUI und LottieAnimationView für UIKit. Das Paket lottie-ios unterstützt Animationen aus dem Bundle, Netzwerk und Data-Objekten.

LottieView in SwiftUI

LottieView ist eine View-Komponente für SwiftUI, die einen JSON-Dateinamen aus dem Bundle oder eine URL zum Laden aus dem Netzwerk akzeptiert. Die Animation wird automatisch mit der angegebenen Geschwindigkeit und Wiederholungsanzahl abgespielt.

swift
import Lottie

LottieView(animation: LottieAnimation
    .named("loading_spinner"))
    .loopMode(.loop)
    .animationSpeed(1.5)
    .frame(width: 100, height: 100)

Für UIKit wird LottieAnimationView verwendet, konfigurierbar über Interface Builder oder programmatisch. Die View unterstützt alle Animationszustände: Play, Pause, Stop sowie eine Fortschrittsanzeige zum Laden von Daten. LottieAnimationView kann in UITableViewCell oder UICollectionViewCell für animierte Symbole in Listen eingebettet werden – beim Scrollen pausiert die Animation und beim Erscheinen der Zelle auf dem Bildschirm wird sie fortgesetzt, was CPU- und GPU-Ressourcen spart.

Die moderne iOS-Entwicklung verwendet Lottie aktiv mit SwiftUI, um animierte Onboarding-Bildschirme und interaktive Elemente zu erstellen: Beim Scrollen wird der Animationsfortschritt über ScrollViewReader mit der Scrollposition synchronisiert. Dies erzeugt einen Parallax-Effekt, bei dem die Animation kontinuierlich der Fingerbewegung des Benutzers folgt und so das Engagement ohne schwere Videodateien steigert.

Wiedergabesteuerung

Der Lottie-Player auf iOS bietet eine API zur Wiedergabe von einem bestimmten Frame zu einem anderen, zum Ändern von Füll-/Strichfarben über KeyPaths und zum Abhören von Ereignissen über LottieAnimationDelegate. Sie können die Animation beim Scrollen pausieren und beim Anhalten fortsetzen, um die Leistung zu optimieren.

Lottie-Integration auf Android

Auf Android wird Lottie über die Gradle-Abhängigkeit com.airbnb.android:lottie hinzugefügt. Die Hauptkomponente ist LottieAnimationView, die im XML-Layout als normale View platziert und über Attribute oder programmatisch konfiguriert werden kann.

kotlin
@Composable
fun LoadingAnimation() {
    val composition by rememberLottieComposition(
        spec = LottieCompositionSpec.RawRes(R.raw.loading)
    )
    LottieAnimation(
        composition = composition,
        iterations = LottieConstants.IterateForever
    )
}

Im XML-Layout wird LottieAnimationView über Attribute konfiguriert: lottie_rawRes (Verweis auf JSON in res/raw), lottie_autoPlay, lottie_loop. Das Laden aus dem Netzwerk wird über lottie_url oder programmatisch über setAnimationFromUrl unterstützt. Die Android-Version von Lottie verwendet einen eigenen Canvas-Renderer, der unabhängig von Hardware-Beschleunigung ist.

Laden aus RawRes und Netzwerk

Für statische Animationen wird JSON in res/raw abgelegt und über RawRes referenziert. Für dynamische Animationen lädt Lottie JSON von einer URL oder einem Data-Objekt mit einem Fortschritts-Callback, der den Download-Prozentsatz anzeigt. Der Lottie-Cache speichert geladene Animationen automatisch im Speicher, um erneutes Herunterladen bei wiederholtem Rendern zu vermeiden.

Lottie für Android unterstützt Animationen im RecyclerView über LottieAnimationView, die direkt in Listenelemente eingebettet wird. Zur Leistungsoptimierung wird empfohlen, setAnimation mit verzögertem Laden zu verwenden und Animationen für nicht sichtbare Elemente über den RecyclerView.OnChildAttachStateChangeListener-Callback zu deaktivieren. Dies verhindert FPS-Einbrüche beim Scrollen langer Listen mit animierten Symbolen.

Anpassung und Steuerung von Lottie-Animationen

Lottie bietet eine leistungsstarke API zur Anpassung fertiger Animationen ohne Änderung der ursprünglichen After Effects-Datei. Dies ermöglicht die Anpassung einer einzelnen Animation an verschiedene Designs, Farben und App-Größen.

Farbänderung über KeyPath

Füll- und Strich-Farben können zur Laufzeit über KeyPath geändert werden – einen Zeichenfolgenpfad zu einem Animationselement. Zum Beispiel, um die Farbe eines Wagensymbols von Rot auf Blau zu ändern, muss man nur seinen KeyPath finden und den neuen Wert anwenden. Dadurch entfällt die Notwendigkeit, mehrere Versionen derselben Animation für verschiedene Farbschemata zu speichern.

Geschwindigkeits- und Fortschrittssteuerung

Jede Lottie-Animation kann nach Geschwindigkeit (animationSpeed), Fortschritt (setProgress) und Bildbereich (play(fromFrame:toFrame:)) gesteuert werden. Der Fortschrittsmodus ermöglicht die Synchronisierung der Animation mit einer Scroll-Geste: Je weiter der Bildschirm gescrollt wird, desto weiter ist die Animation fortgeschritten – eine beliebte Technik für Onboarding und Parallax-Effekte.

ParameterBeschreibungBeispielwert
animationSpeedGeschwindigkeitsmultiplikator der Wiedergabe2.0 – doppelt so schnell
loopModeWiederholungsmodus der Animation.loop, .repeat(3), .playOnce
progressManuelle Bildsteuerung von 0.0 bis 1.00.5 – 50 % der Animation
play(from:to:)Bildbereich abspielenplay(from: 0, to: 30)

Häufig gestellte Fragen

Wie unterscheidet sich Lottie von GIF und Video?

Lottie verwendet ein auflösungsunabhängiges Vektorformat und benötigt 5-10 Mal weniger Speicherplatz als ein GIF. Anders als Video unterstützt Lottie transparente Hintergründe, Laufzeit-Farbänderungen und beliebige Größen ohne Qualitätsverlust, was es ideal für responsive Oberflächen macht.

Wie kann ich die Größe einer Lottie-Datei reduzieren?

Verwenden Sie das Tool lottie-image-compressor, um JSON ohne Bildverlust zu komprimieren. Optimieren Sie die ursprüngliche Animation in After Effects: Reduzieren Sie die Anzahl der Keyframes, vermeiden Sie Rasterbilder anstelle von Vektorebenen und vereinfachen Sie komplexe Masken.

Unterstützt Lottie Textebenen?

Ja, Lottie unterstützt Textebenen aus After Effects, einschließlich Schriftarten, Größe, Farbe und Ausrichtung. Text kann auf einigen Plattformen zur Laufzeit dynamisch geändert werden, aber für komplexen Text mit verschiedenen Schriftarten ist es besser, native UI-Komponenten zu verwenden.

Kann Lottie für Logos verwendet werden?

Ja, Lottie eignet sich hervorragend für animierte Logos. Das Vektorformat garantiert Schärfe auf jedem Bildschirm – von der Apple Watch bis zum 4K-Monitor. Bei Markenänderungen können Logofarben über KeyPath aktualisiert werden, ohne die Animation erneut exportieren zu müssen.

Unterstützt Lottie interaktive Animationen?

Reines Lottie unterstützt keine interaktiven Trigger innerhalb von JSON. Für Interaktivität wird die Animation in Segmente aufgeteilt, die per Code bei Tastendruck oder Scrollen gestartet werden. Der Fortschrittsmodus ermöglicht es, die Animation an eine Geste zu binden, um Parallax-Effekte zu erzeugen.

Zusammenfassung

  • Lottie – Vektor-Animationen aus After Effects, nativ auf allen mobilen Plattformen abgespielt.
  • Bodymovin – ein After Effects-Plugin, das Kompositionen in das offene Lottie-JSON-Format exportiert.
  • JSON enthält die Komposition, Ebenen, Formen und Keyframes mit Bezier-Kurven für sanfte Interpolation.
  • Auf iOS erfolgt die Integration über LottieView (SwiftUI) oder LottieAnimationView (UIKit) aus dem Swift Package Manager.
  • Auf Android erfolgt die Integration über LottieAnimationView in XML oder LottieComposable für Jetpack Compose.
  • KeyPath ermöglicht das Ändern von Füll-/Strichfarben zur Laufzeit ohne erneuten Export der Animation aus After Effects.
  • Lottie ist 5-10 Mal kompakter als GIF, unterstützt Transparenz und jede Größe ohne Qualitätsverlust.

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch