< zurück zum BlogDas Titelbild für den Artikel mit dem Titel Webapp, PWA oder Native App? Vor- und Nachteile

Webapp, PWA oder Native App? Vor- und Nachteile

In diesem Artikel möchten wir anhand eines fiktiven Projektes erläutern, was Webapps, native Apps und PWAs sind, wo sie zum Einsatz kommen und was ihre Vor- und Nachteile sind.

Bei dem Beispiel-Projekt geht es um einen Auftrag für eine App, um auf Fachmessen Umfragen durchzuführen. Diese sollen auf den Tablets und Smartphones von Mitarbeitern laufen, die damit auf Besucher zugehen und diese bitten, eine Umfrage auszufüllen. Die App soll dabei sowohl auf iPads als auch auf Android Tablets laufen.

Ist in diesem Fall eine parallele Entwicklung für Android und iOS der beste Ansatz, um das gegebene Ziel zu erreichen?

Die doppelte Entwicklung ist mit einem erheblichen Mehraufwand verbunden und erfordert viel Zeit und Geld. Da es sich hier um eine interne Anwendung handelt, ist auch keine Vermarktung über den App Store erforderlich. Daher stellt sich die Frage, was die passende Alternative zu einer klassischen nativen App ist. Hier bietet die moderne App-Entwicklung viele interessante Möglichkeiten für eine effektive Umsetzung.

Webapps: Plaftformunabhängigkeit vs. Eingeschränkte Funktionalität

Eine Webapp ist eine vollständige Anwendung, die innerhalb eines Browsers ausgeführt wird und dieselben Technologien wie eine Webseite verwendet, also HTML, CSS und Javascript. Fast jeder nutzt Webapps im Alltag. Zum Beispiel wenn man Gmail oder Office365 nutzt. Der Vertrieb einer Webapp erfolgt auf die gleiche Weise wie bei einer Webseite, indem der Nutzer eine URL aufruft und die Anwendung direkt im Browser verwenden kann. Es ist kein Herunterladen oder keine Installation erforderlich, jedoch kann auch keine Vermarktung durch App Stores stattfinden. Im Allgemeinen können Webapps nicht in den gängigen App Stores platziert werden, was jedoch auch die laufenden Kosten für die Platzierung in den App Stores eliminiert (Apple: 99 $/Jahr, Google: 25 $/Jahr).

Als Entwickler muss man auch berücksichtigen, ob die Anwendung Zugriff auf Funktionen des Geräts benötigt, die der Browser nicht oder nur eingeschränkt bereitstellen kann. Eine Webapp kann nicht direkt auf die Hardware des Geräts zugreifen, wodurch diese Option für rechen- oder speicherintensive Anwendungen ausscheidet.

Obwohl eine Webapp optisch wie eine native App aussehen kann, läuft sie weiterhin ausschließlich im Browser. Dies wird auch den Befragten auf der Messe auffallen, insbesondere beim Scrollen, wenn die Navigation des Browsers und die URL sichtbar werden. Obwohl dies die Funktionalität nicht einschränkt, wirkt es nicht hochwertig und der Kunde wird es lediglich als Webseite wahrnehmen, unabhängig von der Komplexität der Webapp.

Weiterhin können möglicherweise Probleme in Bezug auf die Benutzerfreundlichkeit auftreten, wenn der Nutzer versehentlich die angezeigte Webseite wechselt oder die Schaltfläche "Zurück" drückt und somit den Fortschritt in der Umfrage verliert. Ein vollwertiger Vollbildmodus, der die Standardfunktionen des Browsers unterdrückt, ist nicht verfügbar.

Auch wenn eine Webapp insgesamt günstiger zu entwickeln ist, wirkt eine native App insgesamt hochwertiger und es gibt keine Ablenkungen für den Nutzer von dem präsentierten Inhalt.

Zusammenfassend lassen sich also folgende Vor- und Nachteile herausstellen:

Vorteile:

  • Einfache und schnelle Entwicklung durch standardisierte Webtechnologien

  • Plattformunabhängig

  • Ausführung und Vertrieb über Webseiten-URL

  • Nutzer muss die Anwendung nicht aktualisieren

  • Keine Platzierung in App Stores möglich

Nachteile:

  • Anwendung ist offline nicht verfügbar

  • Limitierungen beim Zugriff auf die Hardware

  • Keine rechen- oder speicherintensiven Anwendungen möglich

  • Anwendung fühlt sich immer an wie eine Webseite

  • Keine Vermarktung über App Stores

Native Apps: Mehr Funktionen, mehr Aufwand

Die Entwicklung einer nativen App für iOS und Android bindet erhebliche Ressourcen von Entwicklern. Die Entwicklung im Apple-Ökosystem erfolgt in Objective-C oder Swift, während die Android-Entwicklung in Java oder Kotlin stattfindet. Dies verdeutlicht, dass es nicht trivial ist, dieselbe Anwendung für beide Systeme zu entwickeln, was zu erheblichem Mehraufwand führt. Frameworks wie "React Native" oder "Flutter" versuchen, diesen doppelten Aufwand zu reduzieren, haben jedoch ihre eigenen Herausforderungen. Im Vergleich zu einer Webapp ist der Zeit- und Kostenaufwand erheblich höher.

Es gibt jedoch Situationen, in denen es keine Alternative zu einer nativen Anwendung gibt. Rechenintensive Anwendungen wie Spiele oder Anwendungen mit künstlicher Intelligenz erfordern die volle Leistung des Geräts, auf dem sie ausgeführt werden, was eine Webapp nicht bieten kann. Auch die Interaktion mit Kamera oder Mikrofon ist zwar in Webapps möglich, jedoch deutlich eingeschränkt.

Sobald die Anwendung für beide Systeme entwickelt wurde, kann der Vertrieb durch den App Store natürlich von Vorteil sein. Der App Store bietet zahlreiche Möglichkeiten der Vermarktung, wie beispielsweise die Schaltung von Anzeigen, die Erwähnung der Anwendungen auf verschiedenen Seiten des App Stores oder die Anzeige als "ähnliche Anwendungen" bei beliebten Anwendungen. Außerdem können gute Nutzerbewertungen die Auffindbarkeit der Anwendungen erhöhen. Derzeit gibt es keinen besseren Ort für die Vermarktung von Anwendungen.

Für unser Beispielprojekt ist die Platzierung in den App Stores (App Store und Play Store) unbedeutend, da lediglich die Mitarbeiter schnell und einfach Zugriff auf die App benötigten. Dies ist bei Android kein Problem, jedoch erfordert es bei Apple zusätzliche Schritte. Dies ist konkret möglich durch die Verwendung von Apples Testflight (eigentlich nur für interne Tests gedacht) oder durch das Apple Developer Enterprise Program (299 €/Jahr). Letzteres ist jedoch nur ab einer Unternehmensgröße von mindestens 100 Mitarbeitern verfügbar. Es wird deutlich, dass das Thema nicht-öffentliche Anwendungen bei Apple komplex ist. Als iOS-Entwickler ist man in gewisser Weise gefangen im Apple-Ökosystem.

Fassen wir die Vor- und Nachteile zusammen:

Vorteile:

  • Vollständig auf das System, auf dem sie laufen, optimiert

  • Können auf die gesamten Hardwareressourcen zugreifen

  • Können offline verwendet werden

  • Einheitliche GUI des Betriebssystems

  • Vermarktung über App Store möglich

Nachteile:

  • Doppelte Entwicklungskosten für Android und iOS Entwicklung

  • Viele Richtlinien müssen beachtet werden, um die App in den App Stores zu vertreiben

  • Ausschließliche Vermarktung durch App Stores

  • Geschlossenes Ökosystem bei Apple

  • Apple bietet interne Apps nur mit Einschränkungen an

Wie können wir also eine hochwertige Anwendung für Tablets und Smartphones sowohl für Android als auch für iOS bereitstellen, ohne eine große Anzahl an Entwicklungsressourcen zu binden? Eine Lösung wäre eine Kombination aus einer Webapp und einer nativen App, also eine Anwendung, die sich wie eine echte App verhält und installiert werden kann, mit Vollbildmodus, Icon auf dem Homescreen und Offlineverfügbarkeit.

Dies ist möglich durch die Verwendung von Progressive Web Apps (PWA).

Progressive Web App (PWA) – die Zukunft der mobilen Entwicklung?

"Progressive Web Apps” (PWA), oder auch hybride Apps vereinen die Vorteile von Webapps und nativen Anwendungen indem sie den Entwicklungsaufwand reduzieren und die Nutzererfahrung verbessern. Diese Art von Webapp kann durch den Besuch einer URL installiert werden und erscheint dann auf dem Homescreen des Nutzers mit einem definierten App-Icon. Für den Nutzer ist anschließend kein Unterschied zur nativen Anwendung erkennbar. PWA werden zwar vom Browser im Hintergrund ausgeführt, starten jedoch nach der Installation immer im Vollbildmodus. Zusätzlich können, wie bei einer nativen App, Push-Benachrichtungen von der PWA genutzt werden.

Die Progressive Web App (PWA) bietet eine Vielzahl von Schnittstellen und eine ausgezeichnete Benutzerfreundlichkeit, sofern sie richtig implementiert wird. Im Falle unseres Beispielprojektes, in dem wir eine interne Anwendung benötigen, ist es von untergeordneter Bedeutung, ob die App aus dem App Store heruntergeladen oder über einen Link installiert wird. Für die meisten Anwendungen ist jedoch die Platzierung in den App Stores von entscheidender Bedeutung für die Vermarktung. Es gibt sowohl positive als auch negative Aspekte in Bezug auf die PWA und ihre Platzierung in den wichtigsten App Stores.

Obwohl Apple die Nutzung von Progressive Web Apps (PWAs) unterstützt und sich in die richtige Richtung entwickelt, bleibt es eine Herausforderung, PWAs im Apple App Store zu platzieren. Im Gegensatz dazu ermöglichen Google und Microsoft die Veröffentlichung von PWAs im Play Store und Microsoft Store ohne Einschränkungen oder spezielle Kennzeichnungen. Wir hoffen, dass Apple in Zukunft seine Unterstützung für PWAs weiter ausbaut. Aber PWAs sind natürlich Konkurrenz für das eigene Vertriebsmodell über den App Store und Apples Beteiligungen an den App-Verkäufen.

Die Umsetzung des Beispielprojektes ist hervorragend dafür geeignet, als PWA umgesetzt zu werden. Die PWA muss nur einmal entwickelt werden und kann dann auf alle benötigten Geräten bereitgestellt werden. Die Mitarbeiter können z. B. per E-Mail einen Link erhalten und die App mit einem Klick installieren, anstatt auf eine lange App Store Überprüfung zu warten oder temporäre Testversionen zu benutzen. Dank der Offline-Fähigkeiten der PWA, müssen sich die Mitarbeiter keine Sorgen über die Netzwerkstabilität machen. Damit können alle Anforderungen des Beispielprojektes durch die Bereitstellung einer PWA erfüllt werden.

Vorteile:

  • Einfache und schnelle Entwicklung durch standardisierte Webtechnologien

  • Plattformunabhängigkeit

  • Vollständiger Support von Google und Microsoft

  • Ausführung und Vertrieb über Webseiten-URL oder App Store

  • Nutzer muss die Anwendung nicht aktualisieren

  • Einfache Wartung

  • Offline-Verwendung

  • Mit einem Klick auf dem Home-Screen installierbar

  • PWAs können über Suchmaschinen gefunden und im Web verlinkt werden

  • Mehr Gerätefunktionen als Webapp/Webseite:

    • Push-Nachrichten

    • Geolokalisierung

    • Kamera

    • Mikrofon

    • Sensorische Erfassung von Lage und Bewegung des Geräts

Nachteile:

  • Noch kein Vertrieb über den Apple App Store

  • Kein Zugriff auf Kontakte, Kalender, Bluetooth oder NFC

  • Support von Apple wird nur langsam ausgebaut

  • Keine rechen- oder speicherintensiven Anwendungen möglich

  • Ältere Browser/ Betriebssysteme unterstützen keine PWAs

Progressive Web Apps (PWAs) bieten für das Beispielprojekt die beste Alternative und werden in den kommenden Jahren immer wichtiger. Insbesondere wenn Apple ihren Support erhöht. Doch jedes Projekt hat eigene Anforderungen, weshalb jede der beschriebenen App Varianten seine Daseinsberechtigung hat. Wir schauen individuell auf Ihren Anwendungsfall und entscheiden gemeinsam welche Variante für Sie am besten geeignet ist. Sprechen Sie uns gerne an.


Ein Bild von Nikolas Gottschol, dem Author dieses Artikels
Nikolas Gottschol
01. März 2023

Quelle
  1. 1)Titelbild: #1208672686 von scyther5 via iStock

Interesse geweckt?

Wir freuen uns auf Ihre Nachricht!