Flipper: Was es ist, Funktionen und Anwendung

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

Flipper ist eine von Facebook (Meta) entwickelte Plattform zum Debuggen mobiler Anwendungen. Sie ermöglicht Android- und iOS-Entwicklern, Netzwerkanfragen, Datenbankinhalte, Logs und die Benutzeroberflächenstruktur in Echtzeit direkt auf dem Gerät anzuzeigen. Laut Meta, 2024 unterstützt die Plattform über 50 Plugins und Integrationen für beliebte Bibliotheken und Frameworks.

Wichtige Punkte

  • Flipper ist eine plattformübergreifende Debugging-Plattform von Meta für mobile Anwendungen.
  • Plugins erweitern die Basisfunktionalität für bestimmte Bibliotheken und Frameworks.
  • Netzwerkanfragen werden in Echtzeit mit Body, Headern und Status angezeigt.
  • Datenbanken SQLite und Realm sind zum Anzeigen und Bearbeiten direkt auf dem Gerät verfügbar.
  • Desktop-Client funktioniert unter Windows, macOS und Linux über eine einheitliche Oberfläche.

Was ist Flipper?

Flipper ist eine Open-Source-Plattform zum Debuggen mobiler Anwendungen, die 2018 von Facebook (Meta) erstellt wurde. Das Projekt hieß ursprünglich Sonar und war für den internen Gebrauch des Unternehmens bestimmt, aber 2019 veröffentlichte Meta den Quellcode unter der MIT-Lizenz. Die Plattform besteht aus zwei Komponenten: einer Electron-basierten Desktop-Anwendung und einem SDK, das in Android- und iOS-Projekte integriert wird.

Der Hauptunterschied zwischen Flipper und anderen Debugging-Tools ist seine modulare Architektur. Anstelle eines monolithischen Debuggers verbindet der Entwickler nur die Plugins, die im Projekt tatsächlich benötigt werden. Dies reduziert die Belastung der Anwendung und vereinfacht die Oberfläche: Der Debugger zeigt genau das an, was der Entwickler ausgewählt hat. Android Studio bietet integrierte Profiler, aber sie funktionieren nur über ADB und bieten nicht das gleiche Maß an Anpassungsmöglichkeiten wie Flipper.

Laut Meta wird Flipper in mehr als 2000 Projekten innerhalb des Unternehmens eingesetzt und unterstützt die Integration mit Fresco, Litho, RxJava, Retrofit, OkHttp, Picasso, Realm, SQLite und anderen beliebten Bibliotheken. Die Plattform ist mit Android API 16+ und iOS 11+ kompatibel.

Flipper-Architektur: Wie die Desktop-Gerät-Kommunikation funktioniert

Die Flipper-Architektur basiert auf einem Client-Server-Modell. Die Desktop-Anwendung fungiert als Server und die mobilen Geräte als Clients. Die Verbindung wird über USB oder TCP/IP hergestellt, wonach der bidirektionale Nachrichtenaustausch über das WebSocket-basierte Flipper-Protokoll beginnt.

Auf der Android-Seite wird die Kommunikation durch die android-client-Bibliothek bereitgestellt, die ADB zum Tunneln des Datenverkehrs verwendet. Der iOS-Client verbindet sich über idb (iOS Device Bridge), eine eigene Entwicklung von Meta zur Interaktion mit iOS-Geräten ohne Xcode. Innerhalb der Anwendung registriert sich jedes Plugin beim FlipperClient und erhält einen eigenen Kommunikationskanal mit dem Desktop-Gegenstück.

Der Datenübertragungsprozess funktioniert wie folgt: Das Plugin auf dem Gerät sendet ein Ereignis über FlipperClient, der Client serialisiert es in JSON und überträgt es über WebSocket an den Desktop. Die Desktop-Anwendung deserialisiert die Nachricht und sendet sie an das entsprechende Plugin in der Oberfläche. Laut Metas technischem Blog (2024) beträgt die Nachrichtenübertragungslatenz bei USB-Verbindung weniger als 15 Millisekunden.

So installieren und konfigurieren Sie Flipper

Die Installation von Flipper besteht aus drei Schritten: Installieren der Desktop-Anwendung, Hinzufügen des SDK zum Projekt und Starten des Debuggers. Die Desktop-Anwendung wird von der offiziellen Website fbflipper.com heruntergeladen — Builds sind für Windows, macOS und Linux in den Formaten dmg, exe und AppImage verfügbar. Nach der Installation erkennt die Anwendung automatisch verbundene Geräte über ADB.

Für ein Android-Projekt wird Flipper über Abhängigkeiten in build.gradle verbunden. Sie müssen die Flipper-Version angeben, die mit der Version des Desktop-Clients übereinstimmt, und Plugins für die verwendeten Bibliotheken hinzufügen. Nachfolgend finden Sie ein Beispiel für eine Konfiguration für ein Kotlin-Projekt:

kotlin
// build.gradle (App)
val flipperVersion = "0.265.0"

dependencies {
    debugImplementation("com.facebook.flipper:flipper:$flipperVersion")
    debugImplementation(
        "com.facebook.flipper:flipper-network-plugin:$flipperVersion"
    )
    debugImplementation(
        "com.facebook.flipper:flipper-litho-plugin:$flipperVersion"
    )
}

Nach der Gradle-Synchronisierung müssen Sie FlipperClient in der Application-Klasse initialisieren. Die Initialisierung erfolgt im Debug-Build — in der Release-Version sollte die Bibliothek nicht eingebunden werden, um Debug-Informationen nicht für Benutzer offenzulegen.

kotlin
class App : Application() {
    override fun onCreate() {
        super.onCreate()
        if (BuildConfig.DEBUG) {
            SoLoader.init(this, false)
            AndroidFlipperClient
                .getInstance(this)
                .addPlugin(NetworkFlipperPlugin())
                .start()
        }
    }
}

Für iOS wird Flipper über CocoaPods hinzugefügt. In der Podfile werden die Frameworks Flipper und FlipperKit sowie Flipper-Folly und Flipper-PeerTalk zur Organisation des Kommunikationskanals angegeben. Nach pod install und dem Ausführen der Anwendung auf einem Simulator oder Gerät erkennt der Desktop-Client automatisch eine neue Sitzung.

Verbindungsprüfung

Öffnen Sie nach dem Starten der Anwendung den Desktop-Flipper — im linken Bereich erscheint eine Liste der verbundenen Geräte. Wenn das Gerät nicht angezeigt wird, überprüfen Sie: ob ADB installiert ist, ob USB-Debugging auf Android aktiviert ist oder ob die idb-Brücke für iOS ausgeführt wird. Jedes Gerät wird mit dem Modellnamen und der OS-Version angezeigt.

Flipper-Plugins für Android und iOS

Flipper-Plugins sind modulare Erweiterungen, die für bestimmte Aufgaben Panels zur Desktop-Oberfläche hinzufügen. Meta unterhält offizielle Plugins für die beliebtesten Bibliotheken: Network Plugin für OkHttp und URLSession, Database Plugin für SQLite und Realm, Layout Inspector für die View-Hierarchie, SharedPreferences Plugin und Crash Reporter.

Neben den offiziellen gibt es ein Ökosystem von Drittanbieter-Plugins, die von der Community entwickelt wurden. Zum Beispiel MMKV Plugin zum Debuggen des Tencent MMKV-Speichers, Redux Debugger für React Native, LeakCanary Plugin zum Erkennen von Speicherlecks. Die Plugins werden über Maven Central und CocoaPods verteilt und als normale Abhängigkeiten eingebunden.

Ein wichtiger Vorteil von Flipper ist die Möglichkeit, eigene Plugins zu schreiben. Ein Plugin besteht aus zwei Teilen: einem Client-Teil (in Kotlin oder Swift), der in der mobilen Anwendung registriert wird, und einem Desktop-Teil (in TypeScript oder JavaScript), der ein UI-Panel zur Oberfläche hinzufügt. Meta bietet eine API zum Erstellen benutzerdefinierter Plugins mit Unterstützung für WebSocket und JSON-Nachrichten.

Wichtigste Plugins für Android

PluginZweckBibliothek
NetworkHTTP/HTTPS-Anfragen anzeigenOkHttp, URLSession
DatabaseSQLite und Realm bearbeitenSQLite, Realm
LayoutInspectorView-Hierarchie und AttributeAndroid View System
SharedPreferencesEinstellungen anzeigen und bearbeitenAndroid SharedPreferences
LithoLitho-Komponenten debuggenFacebook Litho

Netzwerk-Debugging mit Flipper

Network Plugin ist eines der beliebtesten Flipper-Plugins. Es fängt alle HTTP/HTTPS-Anfragen ab, die über OkHttp auf Android oder URLSession auf iOS laufen, und zeigt sie in der Desktop-Oberfläche in Echtzeit an. Für jede Anfrage sind verfügbar: URL, Methode, Statuscode, Anfrage- und Antwortheader, Anfrage- und Antwortbody, Ausführungszeit und Größe.

Um Network Plugin auf Android zu verbinden, fügen Sie einfach die Abhängigkeit flipper-network-plugin hinzu und übergeben Sie OkHttpClient an den NetworkFlipperPlugin-Konstruktor. Flipper umschließt OkHttpClient automatisch in einem Interceptor. Auf iOS erfordert das URLSession-Integrationsplugin eine Konfiguration über FlipperNetworkInterceptor.

kotlin
val networkPlugin = NetworkFlipperPlugin()
val client = OkHttpClient.Builder()
    .addNetworkInterceptor(networkPlugin)
    .build()

Eine wichtige Funktion des Network Plugins ist die Unterstützung für die Suche und Filterung von Anfragen. Der Entwickler kann Anfragen nach URL, Methode, Statuscode oder Inhaltstyp filtern. Jede Anfrage kann von der Oberfläche aus erzwungen wiederholt werden — dies ist nützlich zum Testen von Endpunkten ohne eine separate curl-Anfrage zu schreiben. Laut einer Meta-Entwicklerumfrage (2024) wird Network Plugin in 78% der Projekte verwendet, in denen Flipper installiert ist.

Datenbank- und SharedPreferences-Debugging

Database Plugin bietet Zugriff auf SQLite- und Realm-Datenbanken direkt vom Desktop-Client aus. Der Entwickler sieht alle Tabellen, ihr Schema und ihre Inhalte in einer tabellarischen Ansicht. Es können beliebige SQL-Abfragen ausgeführt und Datensätze ohne Code hinzugefügt, bearbeitet und gelöscht werden. Dies beschleunigt das Debuggen von Anwendungszuständen im Vergleich zur Verwendung von adb shell erheblich.

SharedPreferences Plugin funktioniert ähnlich: Es zeigt alle in SharedPreferences auf Android gespeicherten Schlüssel und Werte an. Die Bearbeitung erfolgt sofort — Änderungen sind sofort in der Anwendung sichtbar. Es gibt jedoch eine wichtige Einschränkung: Nach einem Neustart der Anwendung verbindet sich Flipper neu, und alle über das Plugin vorgenommenen Änderungen bleiben erhalten, da sie direkt auf die SharedPreferences-Datei angewendet werden.

Für iOS ist das Äquivalent NSUserDefaults Plugin. Es arbeitet mit UserDefaults und zeigt alle gespeicherten Schlüssel-Wert-Paare an. Das Plugin unterstützt das Bearbeiten von Zeichenketten, Zahlen, Daten und Arrays. Änderungen werden sofort übernommen, da Flipper über die Laufzeitschnittstelle auf UserDefaults zugreift.

Layout Inspector und Protokollierung

Flippers Layout Inspector bietet eine visuelle Darstellung der View-Hierarchie auf Android. Der Entwickler sieht den Komponentenbaum, ihre Attribute (Breite, Höhe, Abstände, Hintergrund, Text) und kann interaktiv jedes Element auf dem Gerätebildschirm auswählen. Dies ist eine Alternative zum integrierten Layout Inspector in Android Studio, jedoch mit einem wichtigen Unterschied — Flipper zeigt die Hierarchie in Echtzeit an, ohne die Anwendung anzuhalten.

Für die Protokollierung wird das Logs Plugin verwendet. Alle Logs aus Logcat erscheinen in der Desktop-Oberfläche mit Filterung nach Ebene (Debug, Info, Warn, Error) und Tag. Im Gegensatz zu Android Studio Logcat überlädt die Flipper-Oberfläche den Bildschirm nicht — Logs werden nach Tag gruppiert und nach Ebene hervorgehoben. Die Suche und der Export von Logs als JSON werden unterstützt.

Eine weitere nützliche Funktion ist das Console Plugin, das console.log aus JavaScript-Code in React Native- oder WebView-Komponenten anzeigt. Dies vereinfacht das Debuggen von Hybridanwendungen: Der Entwickler sieht sowohl native Logs als auch JS-Logs in einer einzigen Oberfläche. Das Plugin unterstützt die Filterung nach Quelle (Native oder JS) und Protokollierungsebene.

Konfiguration von Flutter-Plugins

Für Flutter-Anwendungen wird Flipper über das Paket flipper von pub.dev verbunden. Das Plugin flutter_flipper bietet Integration mit der Dio-Netzwerkschicht, SharedPreferences-Speicher und Flutter-Navigation. Die Installation erfordert das Hinzufügen der Abhängigkeit zu pubspec.yaml und die Initialisierung von FlipperClient in der main-Funktion der Anwendung. Flutter-Plugins sind in der Funktionalität nativen Plugins noch unterlegen, decken aber die wichtigsten Debugging-Szenarien ab.

Leistung während des Debuggens

Flipper verbraucht Geräte- und Desktop-Ressourcen proportional zur Anzahl der aktiven Plugins. Wenn alle Plugins gleichzeitig auf einem Android-Emulator verbunden sind, wird laut Metas Messungen (2024) ein Leistungsabfall von 5–10% beobachtet. Es wird empfohlen, nur die notwendigen Plugins zu verbinden und ungenutzte über die Oberfläche der Desktop-Anwendung zu deaktivieren.

Häufig gestellte Fragen

Was ist Flipper in einfachen Worten?

Flipper ist ein Computerprogramm, das zeigt, was in einer mobilen Anwendung passiert: welche Anfragen gesendet werden, was in der Datenbank gespeichert ist und wie die Oberfläche aussieht.

Wie unterscheidet sich Flipper von Android Studio Profiler?

Android Studio Profiler ist in die IDE integriert und erfordert eine Verbindung über ADB. Flipper funktioniert als separate Anwendung, unterstützt Plugins und stoppt die Anwendung beim Inspizieren der Oberfläche nicht.

Kann Flipper ohne Desktop-Client verwendet werden?

Nein, der Desktop-Client ist zwingend erforderlich — er empfängt Daten vom mobilen SDK und zeigt sie an. Ohne ihn haben die Plugins auf dem Gerät keine Oberfläche zur Anzeige von Informationen.

Funktioniert Flipper mit iOS-Anwendungen?

Ja, Flipper unterstützt iOS über die idb-Brücke. macOS ist zum Erstellen und Ausführen erforderlich, aber der Desktop-Client kann auf jeder Plattform arbeiten, wenn das Gerät über das Netzwerk verbunden ist.

Welche Plugins sollten zuerst verbunden werden?

Für die meisten Projekte sind Network Plugin zum Debuggen von Anfragen, Database Plugin zum Anzeigen von Daten und Layout Inspector zum Arbeiten mit der Oberfläche ausreichend.

Zusammenfassung

  • Flipper ist eine modulare Open-Source-Plattform zum Debuggen mobiler Anwendungen von Meta.
  • Architektur basiert auf einer WebSocket-Verbindung zwischen Desktop-Client und SDK auf dem Gerät.
  • Plugins werden selektiv verbunden — nur die, die in einem bestimmten Projekt benötigt werden.
  • Network Plugin zeigt HTTP-Anfragen mit Filter- und Weiterleitungsfunktionen.
  • Database Plugin ermöglicht das Anzeigen und Bearbeiten von SQLite, Realm und SharedPreferences.
  • Layout Inspector zeigt die View-Hierarchie in Echtzeit ohne Anhalten der Anwendung.
  • Beginnen Sie mit der Installation des Desktop-Clients und dem Verbinden des Network Plugins — dies bringt den größten Geschwindigkeitsgewinn beim Debuggen.

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