Code Push: Flutter-Updates ohne App Store veröffentlichen (KI-generiertes Titelbild) Titelbild: KI-generiert

Code Push: Flutter-Updates ohne App Store veröffentlichen

Veröffentlicht:
1 min Lesezeit

Kurz zusammengefasst

  • Shorebird Code Push: Dart-Code-Updates in Sekunden statt Tagen
  • OTA-Updates sind Store-konform, solange du keine grundlegenden App-Funktionen änderst
  • Native Code (Swift, Kotlin, Plugins) geht nicht per Code Push
  • Kostenlos bis 5.000 Patch-Installs/Monat, danach ab $20/Monat
  • Am besten für Hotfixes, kritische Bug-Fixes und schnelle Iterationen

Freitag, 17:00 Uhr. Die App ist live, 10.000 User nutzen sie aktiv, und du entdeckst einen kritischen Bug. Der normale Weg: Fix entwickeln, Build erstellen, zum App Store hochladen, auf Review warten. Minimum 24-48 Stunden bei Apple, oft länger.

Mit Code Push? Fix pushen, 5 Minuten später haben alle User das Update. Kein Store-Review, keine Wartezeit.

Klingt zu gut um wahr zu sein? Ist es nicht. Aber es gibt Einschränkungen, die du kennen musst.

Was ist Code Push überhaupt?

Code Push (oder Over-the-Air Updates, OTA) ermöglicht es, App-Code direkt an Nutzer auszuliefern, ohne den Umweg über App Store oder Play Store. Die App prüft beim Start (oder zu definierten Zeitpunkten), ob ein Update verfügbar ist, lädt es im Hintergrund herunter und aktiviert es beim nächsten Neustart.

Wichtig zu verstehen: Code Push ersetzt NICHT den App Store. Du brauchst weiterhin Store-Releases für:

  • Neue User (die laden immer aus dem Store)
  • Native Code-Änderungen
  • Größere Feature-Updates (Store-Policy)

Code Push ist ein zusätzliches Tool für schnelle Iterationen und Hotfixes.

Shorebird: Die Code Push Lösung für Flutter

Für React Native gab es jahrelang Microsoft CodePush (via App Center). Das wurde jedoch im März 2025 eingestellt. Für Flutter war die Situation lange Zeit frustrierend, es gab schlicht keine Production-ready Lösung.

Das änderte sich mit Shorebird, gegründet von Eric Seidel (ehemaliger Flutter Team Lead bei Google). Shorebird ist kein Hack oder Workaround, sondern eine saubere Implementierung, die einen modifizierten Flutter-Fork nutzt.

Wie Shorebird technisch funktioniert

  1. Du baust mit Shorebird statt flutter build verwendest du shorebird release
  2. Shorebird forkt Flutter und ersetzt Teile der Engine mit eigenem Code
  3. Patches sind Diffs, nur die geänderten Dart-Dateien werden übertragen
  4. Auf dem Gerät läuft ein Updater, der beim App-Start nach Updates sucht

Das Geniale: Du nutzt weiterhin dein normales Flutter-Projekt. Keine Code-Änderungen nötig (außer optional für manuelle Update-Kontrolle).

Store-Richtlinien: Was ist erlaubt?

Die gute Nachricht: Code Push ist offiziell erlaubt, mit Einschränkungen.

Apple App Store (iOS)

"Interpreted code may be downloaded to an Application but only so long as such code: (a) does not change the primary purpose of the Application, (b) does not create a store or storefront for other code or applications, and (c) does not bypass signing, sandbox, or other security features of the OS." — Apple Developer Program License Agreement, Section 3.3.1b

Übersetzt: Du darfst Code nachladen, solange:

  • Die App nicht plötzlich etwas komplett anderes macht
  • Du keinen alternativen App Store baust
  • Du keine Sicherheitsmechanismen umgehst

Google Play Store (Android)

"An app may not download executable code from a source other than Google Play. This restriction does not apply to code that runs in a virtual machine or an interpreter." — Google Play Developer Policy

Da Dart in einer VM läuft (und Shorebird auf iOS einen Interpreter nutzt), ist das explizit erlaubt.

Was du NICHT machen solltest

  • App als "Taschenrechner" einreichen und per Code Push ein Spiel draus machen
  • Bezahlte Features ohne Store-Review freischalten
  • Komplett neue Hauptfunktionen per OTA ausrollen

Shorebird's klare Ansage: Missbrauch verstößt gegen ihre ToS und führt zur Account-Sperrung.

Setup-Guide: Shorebird in 10 Minuten

1. Installation

# macOS / Linux
curl --proto '=https' --tlsv1.2 https://raw.githubusercontent.com/shorebirdtech/install/main/install.sh -sSf | bash

# Windows (PowerShell)
iwr -UseBasicParsing 'https://raw.githubusercontent.com/shorebirdtech/install/main/install.ps1' | iex

2. Login & Projekt initialisieren

shorebird login
cd dein-flutter-projekt
shorebird init

Das erstellt eine shorebird.yaml mit deiner App-ID:

app_id: 12345678-1234-1234-1234-123456789abc

3. Release erstellen

# Android
shorebird release android

# iOS  
shorebird release ios

Wichtig: Diese Releases müssen in den Store! Shorebird ersetzt den Store-Upload nicht.

4. Patch deployen

Nachdem User deine App haben, kannst du Patches pushen:

# Bug gefixt? Patch it!
shorebird patch android
shorebird patch ios

Der Patch ist sofort verfügbar. Beim nächsten App-Start wird er heruntergeladen, beim übernächsten Start aktiv.

5. Optional: Manuelles Update-Handling

Standardmäßig checkt Shorebird automatisch beim App-Start. Für mehr Kontrolle:

import 'package:shorebird_code_push/shorebird_code_push.dart';

final shorebirdCodePush = ShorebirdCodePush();

Future<void> checkForUpdate() async {
  final isUpdateAvailable = await shorebirdCodePush.isNewPatchAvailableForDownload();
  
  if (isUpdateAvailable) {
    await shorebirdCodePush.downloadUpdateIfAvailable();
    // Optional: User informieren und App-Neustart anbieten
  }
}

Wann Code Push Sinn macht (und wann nicht)

✅ Perfekte Use Cases

SituationWarum Code Push ideal ist
Kritischer Bug in ProductionSofortiger Fix statt 24-48h Store-Review
Hotfixes für alte VersionenUser, die nicht updaten, trotzdem erreichen
Schnelle IterationDaily/Weekly Deploys ohne Store-Overhead
A/B Testing von UI-ÄnderungenSchnelles Rollout und Rollback
Compliance-FixesDSGVO-Anpassungen sofort ausrollen

❌ Nicht geeignet für

SituationWarum nicht
Native Plugin-UpdatesCode Push kann nur Dart-Code updaten
Neue PermissionsBraucht nativen Code → Store-Release
Major Feature ReleasesStore-Policy verlangt Review für "significant changes"
Asset-Updates (große Bilder/Videos)Technisch möglich, aber nicht effizient

Vor- und Nachteile ehrlich betrachtet

Vorteile ✅

  1. Geschwindigkeit, Patches in Minuten statt Tagen
  2. Rollback, Ein Klick, und der letzte Patch ist weg (mehr dazu in Patch Rollbacks)
  3. Alle User erreichen, Auch die, die nie manuell updaten
  4. Keine Downtime, Update passiert im Hintergrund
  5. CI/CD Integration, shorebird patch in der Pipeline

Nachteile ❌

  1. Nur Dart-Code, Native Änderungen = Store-Release
  2. Kosten bei Scale, Ab 50k Installs/Monat: $20+/Monat
  3. Abhängigkeit, Ein weiterer Service in deiner Infrastruktur
  4. ~1 MB größere App, Shorebird-Updater im Bundle
  5. Verzögertes Aktivieren, Update wird beim NÄCHSTEN Start aktiv

Versteckte Gotchas 🔍

  • Patch-Größe korreliert mit Code-Änderungen, Große Refactorings = große Patches
  • Jeder Patch ist ein Diff zum Release, NICHT zum vorherigen Patch
  • Flutter-Version muss matchen, Shorebird trackt Flutter Stable

Alternativen zu Shorebird

LösungStatusFür wen?
Microsoft CodePush❌ Eingestellt März 2025War für React Native
Expo Updates✅ AktivReact Native (Expo only)
Firebase Remote Config✅ AktivKonfiguration, NICHT Code
Eigene Lösung🤷 MöglichWenn du viel Zeit hast

Für Flutter ist Shorebird aktuell die einzige Production-ready Lösung.

Kosten

PlanPatch InstallsPreis
Free5.000/Monat$0
Pro50.000/Monat$20/Monat
Business1.000.000/Monat$400/Monat
EnterpriseCustomAuf Anfrage

"Patch Install" = Ein Gerät lädt einen Patch herunter. 10.000 User mit 3 Patches/Monat = 30.000 Installs.

Fazit: Wann solltest du Shorebird nutzen?

Definitiv JA, wenn:

  • Du eine App in Production hast
  • Schnelle Iteration wichtig ist
  • Du schon mal 2 Tage auf ein Store-Review gewartet hast

Erstmal NEIN, wenn:

  • Du noch in der MVP-Phase bist
  • Deine App hauptsächlich aus nativem Code besteht
  • Du unter 1.000 User hast

Code Push ist kein Ersatz für saubere Release-Prozesse. Es ist eine Versicherung für den Ernstfall und ein Beschleuniger für schnelle Teams.

Der wahre Wert zeigt sich erst, wenn du ihn brauchst: Freitag, 17:00 Uhr, kritischer Bug, 10.000 User betroffen. Dann bist du froh, dass du shorebird patch tippen kannst statt ein Wochenende lang auf Apple zu warten.


Nutzt du Code Push in deinen Projekten? Welche Erfahrungen hast du gemacht? Schreib uns, wir sind gespannt auf deine Stories!

Let's Connect! 🚀

Ready für dein nächstes Projekt?
Lass uns durchstarten!

Lass uns starten

Erzähl mir von deiner Vision – schreib mir einfach per Mail oder über das Kontaktformular. Lass uns gemeinsam deinen digitalen Erfolg planen! 💪