Technologie

Web? Native? Web-Native!

Bei fast jedem App-Projekt stellt sich die Frage nach der passenden Technologie für die Umsetzung: nativ in der Sprache der jeweiligen Zielplattform oder Web-basiert? Oder womöglich doch ein hybrider Ansatz mit einem nativen Rahmen für die Navigation und Web-Views für die Inhalte?

Der Web-basierte Ansatz bringt viele Vorteile mit sich. Koordinations- und Umsetzungsaufwände fallen geringer aus, da nur für eine Plattform entwickelt werden muss. Auch das weit verbreitete Vorurteil, dass Web-Technologien per se langsamer sind und dadurch in Sachen Nutzererlebnis nicht mit nativen Apps mithalten können, ist längst überholt. Mit der ZDFmediathek als PWA hat Cellular gezeigt, dass es inzwischen möglich ist, Web-Anwendungen zu entwickeln, die sich voll und ganz wie native Applikationen anfühlen. Und nicht nur das, sie funktionieren dank ihres responsiven Verhaltens auf dem Desktop oder großen Wohnzimmerbildschirmen genauso gut wie auf Smartphones oder Tablets.

Ein weiterer Vorteil für die Nutzer:innen: Der Umweg über die App-Stores entfällt. Es genügt der Klick auf einen Link und schon ist man mittendrin – keine Installation, kein Warten. Auch für die Herausgeber ist der Wegfall der Stores ein riesiger Vorteil. Updates können in Sekundenschnelle ausgerollt werden und die Anwendung aktualisiert sich im laufenden Betrieb, ohne dass die User etwas davon merken.

Damit entfällt auch die Einflussnahme durch die Store-Betreiber. Wer den Streit zwischen dem E-Mail-Anbieter Hey und Apple verfolgt hat, weiß, welche weitreichenden Auswirkungen die Ablehnung einer App für ein Geschäftsmodell haben kann. Unter appfairness.org haben sich viele der großen App-Hersteller zusammengeschlossen und fordern eine Reform der App-Store-Prinzipien.

App-Gap existiert nach wie vor

Doch was sind die Nachteile des Webs und warum entwickeln wir überhaupt noch native Apps?
Das größte Problem ist nach wie vor die sogenannte App-Gap, die Kluft zwischen dem, was nativ möglich ist, und den Features der Web-Plattform. Glücklicherweise wird diese Lücke immer weiter geschlossen und das mit hoher Geschwindigkeit. Google, Microsoft, und Intel haben vor einiger Zeit das Web Capabilities Project mit dem Ziel ins Leben gerufen, Web-Apps den vollen Feature-Umfang zugänglich zu machen, der auch nativen Anwendungen zur Verfügung steht. 

Das Projekt ist auch bekannt unter dem Namen Projekt Fugu, dem japanischen Wort für Kugelfisch. Der Codename spielt dabei auf die potenziellen Gefahren an, die eine 1:1-Übertragung nativer Funktionalitäten ins Web mit sich bringen würden. Die Funktionalitäten mit den Grundprinzipien des Web hinsichtlich Datensicherheit und Schutz der Privatsphäre in Einklang zu bringen, stellt eine große Herausforderung dar und erfordert eine sorgfältige Planung. Entsprechend langwierig ist daher bei manchen Features der Weg von der Idee über die Spezifikation bis zum Roll-Out in den gängigen Browsern.

Cellular nutzt Web Native für Mein-Bit-App

Um die Wartezeit zu überbrücken und dabei trotzdem nicht auf die Vorteile des Webs verzichten zu müssen, hat sich ein neuer Ansatz etabliert: Web Native.

Good to know

Capacitor.js ist ein nativer API-Container, der das Erstellen von Web-Apps ermöglicht, die unter iOS, Android, Electron und im Web ausgeführt werden, mit vollem Zugriff auf die nativen Funktionen der jeweiligen Plattform.
Anders als Cordova/PhoneGap verfolgt Capacitor einen „Web First“-Ansatz. Der Kern jeder Capacitor-App ist eine moderne PWA, die auf gewohnte Weise egal mit welchem Framework umgesetzt werden kann. Capacitor kommt erst nachträglich ins Spiel, sobald man an die Grenzen der Web-Plattform stößt.

Die Idee ist einfach: Man entwickelt die Applikation so, als sei es eine reguläre Web-Applikation. Möchte man eine Funktionalität nutzen, die noch nicht für alle Browser zur Verfügung steht, greift man auf eine Abstraktionsschicht zurück, die die Aufgabe bei Bedarf an einen nativen Container delegiert. Dieser Container wird in einem automatisierten Prozess für alle gewünschten Zielplattformen generiert und kann über die entsprechenden Stores distribuiert werden.

Genau diesen Weg setzt Cellular beispielsweise ein, um die Bitburger Mein-Bit-App sowohl als PWA- als auch als iOS- und Andorid-App bereitzustellen. Bei einigen Funktionen, wie beispielsweise dem Scannen eines NFC-Chips in der Gastronomie, werden Nutzer:innen der PWA in den jeweiligen App-Store geleitet. Der Download, der oft eine große Hürde darstellt, kann damit bis zu einem sehr späten Zeitpunkt in der User Journey hinausgezögert werden. Die gute Nachricht: Auch hier schreitet die Schließung der App Gap voran: Web-NFC ist für Chrome Android bereits als Origin Trial verfügbar und in naher Zukunft für eine große Zahl an Web-Anwender:innen nutzbar. 

Fazit: Die Web-Plattform hat in den vergangenen Jahren große Sprünge gemacht. Gut gemachte Web-Apps sind von nativen Anwendungen mit bloßem Auge so gut wie nicht zu unterscheiden: Die von Cellular entwickelte PWA-Version der ZDFmediathek ist ein Paradebeispiel dafür. Der Web-Native Ansatz ist ein hervorragender Weg, um die noch existierenden Lücken zwischen Web und nativen Apps zu schließen.

Autor

Felix
Lead Developer