© DOM STOCK, Voin_Sveta, Zaie/Shutterstock.com
Trade-offs und Technologien hinter Progressive Web Apps

Eine App, sie alle zu knechten?


Progressive Web Apps werden allenthalben als die einzig wahre Lösung, als die Apps der Zukunft angepriesen und manche Entscheider und Entwickler sind versucht, native Apps rundheraus als angestaubte Brückentechnologie abzutun. Ob es für ein Unternehmen aber empfehlenswert ist, von nativen Apps komplett zu PWAs zu wechseln, hängt von vielen verschiedenen Faktoren ab, die genauerer Betrachtung bedürfen. Eine Entscheidungshilfe aus der Vogelperspektive.

Progressive Web Apps (PWA) sind Web Apps, die über moderne Webstandards mit Features angereichert werden, die als typisch für native Apps gelten. Hierzu gehören neben HTML5 APIs wie Geolocation- und Webcamzugriff vor allem Offlinefunktionalität und, für mobile Endgeräte, ein prominentes Icon auf dem Homescreen. PWAs erreichen damit in vielen Bereichen Featureparität mit nativen iOS-, Android- oder Windows-Apps und umgehen als Web-Apps viele Nachteile der genannten Plattformen – neben der Flucht aus den Walled Gardens der App-Stores bietet sich mit den klassischen Webtechnologien HTML, CSS und JavaScript ein mittlerweile sehr respektables Entwicklungsökosystem mit einer großen Vielfalt an Tools und Frameworks.

PWAs haben darüber hinaus noch einen großen Vorteil: Im Prinzip muss nur noch eine einzige App entwickelt werden, die auf allen Plattformen funktioniert, denn Webbrowser gibt es schließlich für jedes Betriebssystem. Statt für jede zu unterstützende Plattform eine eigene App zu pflegen (wobei in der Regel jede dieser Apps in einer anderen Programmiersprache geschrieben ist und mit gänzlich anderen Paradigmen und Patterns daherkommt), gibt es nur noch eine einzige Web-App, sie alle zu knechten – zumindest auf dem Papier ein überaus verlockendes Angebot. Allerdings hat dieses Angebot selbstverständlich Haken, derer sich Entscheider und Entwickler bewusst sein sollten, ehe sie eine Entscheidung pro oder contra PWA fällen.

Ob eine Progressive Web App die richtige Wahl ist, muss für jeden Einzelfall, jede Firma, jedes Geschäftsmodell und jedes Produkt gründlich diskutiert werden. Die Webplattform bietet mit der gebündelten Power von HTML APIs und PWA-Offline-Support einiges an, trotzdem passt das PWA-Modell mit all seinen Freiheiten auf der einen und Einschränkungen auf der anderen Seite aber nicht unbedingt zu jedem Use oder Business Case – selbst dann, wenn es wirklich hält, was es verspricht. Und auch das muss nicht immer der Fall sein.

Eine App, sie wirklich allesamt zu knechten?

Eine Progressive Web App kann, da sie im Wesentlichen eine Webseite ist, im Prinzip auf jedem gängigen Betriebssystem funktionieren und die dort vorhandenen nativen Apps ersetzen. Die Anzahl und Bandbreite der Plattformen, die ein Unternehmen bzw. eine App unterstützen muss, kann dabei durchaus beachtlich sein. Im alltäglichen Entwicklersprachgebrauch bezieht sich das Schlagwort „native App“ zumeist mit Android und iOS auf zwei nicht ganz unähnliche App-Plattformen, doch gerade im B2B-Bereich spielen auch Windows und das Web selbst eine große Rolle. Der Entwicklungsaufwand steigt nachvollziehbarerweise mit der Anzahl der zu unterstützenden Systeme stark an und diesen Aufwand auf einer auf allen Systemen funktionierenden Plattform wie dem Web zu bündeln, ist verlockend, aber nicht unbedingt immer realistisch. Nicht jedes App-Konzept ist für jede Plattform gleich gut geeignet, denn die Erwartungen und Gewohnheiten von Nutzern unterscheiden sich je nach Plattform und nicht jedes Feature ist auf jeder Plattform sinnvoll umsetzbar.

Die verschiedenen Betriebssysteme kommen de facto mit spezifischen Nutzungspatterns daher. Eine Android- oder iOS-App wird in den meisten Fällen auf einem Handheld-Device mit einem Tochscreen von endlichen Dimensionen laufen, wohingegen eine Windows-App in der Regel auf einem voll ausgebauten PC mit vergleichsweise riesigem Bildschirm gestartet wird – das untere Ende der Leistungs- und Dimensionspalette liegt da, wo bei anderen Plattformen die Spitze noch nicht einmal in Sicht ist. Entsprechend unterschiedlich fallen die User Interfaces aus und die Apps bedienen in der Regel unterschiedliche Use Cases. Eine Progressive Web App mit dem Anspruch, eine Anzahl nativer Apps zu ersetzen, muss alle Use Cases abdecken, die die nativen Apps abdecken. Anders formuliert: Eine PWA kann nicht einfach native Apps aller Art ersetzen, sondern höchstens diese Apps in sich vereinen. Sofern die fraglichen nativen Apps nicht jeweils das exakt gleiche Featureset haben, wird die resultierende Progressive Web App am Ende komplexer als eine der nativen Apps, da sie zusätzliche Use Cases (die Gesamtmenge aller Features aller nativen Apps) zu bedienen hat.

Sofern sich die Unterschiede zwischen den verschiedenen zu vereinigenden Apps auf Layout und Optik beschränken, ist das kein Problem. Als Web-Apps können PWAs auf die etablierten Techniken des Responsive Design zurückgreifen und ein User Interface für alle denkbaren Formfaktoren bereitstellen. Harte technische Herausforderungen gibt es in diesem Bereich kaum mehr, allerdings ist der Aufwand für ein UX Design, das alle Formfaktoren gleichermaßen berücksichtigt, nicht trivial. Aber es bleibt festzuhalten, dass ein sich an alle Umstände anpassendes User Interface das kleinste Problem ist, das eine PWA haben kann.

Jenseits des Optischen ist aber zu bedenken, dass nicht jeder Inhalt auf jeder Plattform und den damit einhergehenden Formfaktoren einen Platz hat. Ein komplexes Dashboard zur Echtzeitdatenanalyse mit zahllosen Checkboxes und ausgefeilten Charts hat auf einem Mobilgerät wohl nur eine eingeschränkte Existenzberechtigung. Der Touchscreen eines Smartphones bietet möglicherweise weder die Ausmaße noch die Eingabemöglichkeiten für die Nutzung eines solchen Dashboards und die bei mobiler Nutzung vermutlich nicht durchgehend bestehende Internetverbindung hilft beim Echtzeitdatentransfer auch nicht wirklich. Das Dashboard trotzdem in eine auch für Mobilgeräte gedachte Progressive Web App einzubauen und es auf allem, was kein vollwertiger PC ist, zu deaktivieren, ist bestenfalls eine Notlösung, denn auch deaktivierte Features verbrauchen ein gewisses Maß an Speicherplatz und anderen Ressourcen – Ressourcen, die auf Mobilgeräten im Vergleich zu Laptops oder Desktoprechnern eher knapp sind.

Ob sich also die Features von beispielsweise einer Windows-App, einer iOS-App und einer Android-App unter einem gemeinsamen PWA-Banner vereinigen lassen können, muss im Einzelfall gründlich hinterfragt werden. Je nachdem wie groß die Featurebandbreite der zu ersetzenden nativen Apps ist, lohnt es sich gegebenenfalls, nur einige der alten Apps in einer PWA zu bündeln oder sogar mehrere PWAs für unterschie...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang