PWA vor Native — Web-App, wo es geht
Wo der Plattform-Vorteil einer nativen App nicht zwingend gebraucht wird, liefern wir eine progressive Web-App statt. Das spart den App-Store-Tribut, verkürzt die Update-Schleife und hält die Installation in der Hand der Nutzerin.
Die Web-Plattform ist über die letzten zehn Jahre soweit gewachsen, dass „Web-App vs. Native-App” für die meisten Anwendungsfälle keine technische Frage mehr ist, sondern eine distributionspolitische. Eine progressive Web-App kann auf Android und Desktop heute praktisch alles, was eine Native-App kann — Hintergrund-Sync, Push-Benachrichtigungen, Offline- Modus, Geräte-Icon, eigene App-Schale. Was sie nicht hat: einen Eintrag im App-Store eines US-Konzerns.
Genau das ist für uns das Verkaufsargument. Eine PWA wird über unsere eigene Domain verteilt, ohne Apples oder Googles Genehmigung, ohne 15- bis 30-Prozent-Tribut, ohne dass der Store-Algorithmus entscheidet, wer uns findet. Updates gehen mit dem nächsten Seiten-Refresh raus, nicht mit dem nächsten Store-Review. Wenn eine Nutzerin die App wieder „deinstallieren” will, schiebt sie das Icon weg — keine Konto-Verwaltung beim Konzern.
Die Grenze, die wir respektieren: iOS. Erstens, weil Apple- Safari einige Web-APIs absichtlich nicht implementiert oder erst mit Verzögerung freigibt, was bestimmte App-Klassen (Sprachaufnahme, HomeKit-Steuerung, Local-Network-Discovery) nicht web-baubar macht. Zweitens, weil die Kultur der Apple- Nutzer:innen den App-Store als selbstverständliche Quelle behandelt — eine PWA wird dort selten installiert, auch wenn sie besser funktionieren würde. Wir bieten dort beides an: PWA für die, die wollen, Native für alle anderen.
Die Mana-Käufe schließlich laufen seit den DMA-und-Epic-
Entscheidungen wieder vollständig über die Web-Seite. Apple
musste nach jahrelangem Anti-Steering-Druck Linking-Out für
externe Bezahl-Webseiten erlauben. Das ist kein eleganter
Vorgang, aber er reicht: ein Knopf in der iOS-App öffnet
mana-ev.ch/laden, dort findet die Transaktion statt, ohne dass
Apple einen Cent von der Provision sieht. Dass wir das überhaupt
können müssen, ist eine eigene Geschichte — siehe Problem zum
App-Store-Tribut.
Wie genau das funktioniert
- `@mana/shared-pwa` als geteiltes PWA-Bauteil: Install-Banner, Manifest-Generator, Service-Worker-Boilerplate. Adoption derzeit in 10/10 Vereins-Apps live.
- Android: PWA als primärer Reach-Pfad — Browser-Installation, kein Google-Play-Tribut, keine Play-Store-Review.
- Desktop (Chrome, Edge, Safari): PWA via „Zum Dock hinzufügen", eigene Fenster, eigenes Icon, eigene Daten-Persistenz.
- iOS: PWA + zusätzlich Native-App im App-Store, weil iOS Safari bestimmte Hardware-Features (Hintergrund-Sync, Push, Voice-Recording) nur Native-Apps gibt.
- Mana-Käufe und Mitgliedsbeiträge laufen über die Vereins- Webseite, nicht durch In-App-Purchase — seit Apple das nach dem Epic-Urteil zulassen muss.
Was uns das kostet
Jeder Lösung hat einen Preis. Diese hier zahlen wir bewusst — weil das, was wir damit erreichen, mit nachgelagerten Tricks nicht ehrlich zu bauen ist.
- Auf iOS gibt es ein Reach-Problem: Apple-Nutzer:innen installieren PWAs in der Praxis selten. Die meisten Vereins- Apps haben deshalb zusätzlich eine Native-App, was die Wartungs-Last verdoppelt.
- Hardware-nahe Features (Health, HomeKit, lokale Netzwerk- Erkennung) gehen nur nativ. Apps wie Moodlit oder Memoro brauchen Native, weil die Funktion sonst nicht da ist.
- PWAs werden weiterhin systematisch unterschätzt — auch unter Mitgliedern. „Eigene App im Store" wird als Profession wahrgenommen, PWA als Behelf.
Welche Probleme dieser Lösung adressiert
Diagnose ohne Antwort ist Lamentation; Antwort ohne Diagnose ist Ingenieurs-Spielerei. Hier verbindet sich beides.
Offene Punkte
- iOS-PWA-Adoption ist niedrig; wir haben keinen guten Mechanismus, Nutzer:innen aktiv zur Webseiten-Installation statt zum App-Store zu führen.
Weitere Lösungen dieser Art
Wie die Daten fließen — strukturelle Entscheidungen.
- Event-Sourcing als Daten-ArchitekturStatt aktuelle Zustände in einer App-Datenbank zu mutieren, schreiben unsere Apps jede Änderung als unveränderliches Event in einen zentralen, signierten Ledger. Daraus folgt vieles, was sich sonst nicht bauen lässt: Audit-Trail, Cross-App-Timeline, vollständige Lösch- und Export-Pfade, transparente KI-Aktionen.
- Cross-App-Timeline — jede Änderung ist sichtbar, auch KI-ÄnderungenEine zentrale Zeitleiste über alle Vereins-Apps zeigt in Echtzeit, was sich in den eigenen Daten geändert hat — von wem, wann, in welcher App, und ob ein Mensch oder eine KI sie geschrieben hat.
- Föderation statt Lock-InDaten gehen über App-Grenzen hinweg über offene Plattform- Protokolle (Share, Links, Events, MCP, Search), nicht über hauseigene Vendor-APIs. Jede App kann zur Allmende beitragen, jede App kann fortgehen — der Export ist gleichwertig zur internen API.
- Local-First + Login-OptionalWo es geht, rechnet die App auf dem Gerät, speichert auf dem Gerät und funktioniert ohne Konto. Ein Login ist nur dann nötig, wenn die Nutzerin tatsächlich Geräte-übergreifend syncen oder Mana-Aktionen ausführen möchte.
Lösungen sind die strukturellen Antworten des Vereins. Werte sagen, wonach wir uns ausrichten; Probleme sagen, wogegen; Lösungen sagen, was wir daraus baulich machen.