Warum würde ein Unternehmen eine native App einer Website vorziehen?

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Ich wollte aufschreiben, was ich im Dezember 2021 für die Gründe halte, damit wir sie gelegentlich in der Zukunft noch einmal betrachten und sehen können, ob diese Gründe noch relevant sind. Ich bin selbst ein Web-Typ, daher bin ich daran interessiert zu sehen, wie sich das Web weiterentwickeln kann, um diese Bedenken zu mildern.

Ich konzentriere mich ausschließlich auf Gründe, warum eine native App entweder ein deutlicher Vorteil sein könnte oder zumindest wie ein Vorteil im Vergleich zu einer Website empfunden wird. Nichts Subjektives hier, wie "schneller zu entwickeln" oder "native Apps sind intuitiver" oder ähnliches, was zu subjektiv ist, um es zu quantifizieren. Ich gehe auch nicht auf Gründe ein, bei denen das Web den Vorteil hat. Aber falls Sie unsicher sind, gibt es viele: Es ist eine offene standardisierte Plattform, sie wird geschlossene Systeme überdauern, sie legt großen Wert auf Abwärtskompatibilität, jeder kann für das Web entwickeln, sie läuft plattformübergreifend, und hey, allein URLs sind Grund genug, um zuerst auf das Web zu setzen. Aber das soll nicht heißen, dass native Apps nichts extrem Überzeugendes zu bieten haben, daher dieser Beitrag.

Weil sie ein Icon auf dem Homescreen des Geräts haben.

Es geht um „Mindshare“. Man nimmt sein Handy, das Icon starrt einen an und bittet darum, geöffnet zu werden. Ein weit zitierter Bericht von vor ein paar Jahren besagt, dass 90% der Handynutzung in Apps stattfindet (im Gegensatz zu einem mobilen Webbrowser), auch wenn es hier viel anerkannte Grauzonen gibt. Theoretisch kann man also zu diesen 90% gehören, wenn man eine App erstellt, anstatt in die traurige 10%-Zone verbannt zu werden.

Wenn Reichweite die oberste Priorität hat, scheint die beste Strategie zu sein, *sowohl* eine Web-App als auch eine native App zu haben. So profitieren Sie von der Teilbarkeit und Suchbarkeit, die URLs bieten, zusammen mit einer starken Präsenz auf dem Gerät.

Wenn ich mir den Homescreen meines eigenen Handys ansehe, ist die überwiegende Mehrheit der Apps sowohl nativ als auch Web-Apps: Google Kalender, AccuWeather, Google Maps, Spotify, Notion, Front, Pocket Casts, Instagram, Discord, Twitter, GitHub, Slack und Gmail. Das sind viele große Player, die beides tun.

Mögliche Lösung: Sowohl iOS als auch Android bieten Optionen zum „Hinzufügen zum Home-Bildschirm“ für Websites. Es ist nur eine ziemlich „versteckte“ Funktion, und es ist unwahrscheinlich, dass sie von vielen Leuten genutzt wird. Chrome unter Android geht einen Schritt weiter und bietet eine native App-Installationsaufforderung für Progressive Web Apps (PWAs), die eine Handvoll zusätzlicher Kriterien erfüllen, wie z. B. dass die Website mindestens 30 Sekunden lang genutzt wurde. Native App-Installationsaufforderungen sind ein wichtiges Werkzeug, das dieses Spielfeld ebnet, und es wäre ideal, wenn Apple PWAs besser unterstützen und dies anbieten würde. Als Website-Autoren können wir nicht viel tun; wir warten und hoffen, dass mobile Betriebssysteme es besser machen. Es gibt auch die ganze Welt der Software-Tools, bei denen das, was Sie erstellen, sowohl als Web-App als auch als native App ausgeliefert werden kann, wie z. B. Flutter.

Weil sie schnell starten.

Native Apps verfügen über einen Großteil der Ressourcen, die zum Ausführen der App lokal benötigt werden, was bedeutet, dass sie beim Öffnen keine aus dem Netzwerk abrufen müssen.

Mögliche Lösung: Das ist zunächst nur teilweise wahr. Wenn Sie die App herunterladen, laden Sie die Ressourcen herunter, genau wie das Web. Das Web cacht Ressourcen standardmäßig und bietet durch Service Workers fortschrittlicheres Caching. PWAs sind hier wettbewerbsfähig. Native Apps sind nicht automatisch schneller.

Weil es für Benutzer schwieriger ist, Werbung zu blockieren, und einfacher Daten zu sammeln.

Es gibt alle möglichen Ad-Blocker für Mobilgeräte.

Aber die funktionieren nur in *mobilen Webbrowsern*, nicht in nativen Apps. Wenn Sie Werbung in nativen Apps blockieren möchten... Pech gehabt, nehme ich an? Wenn der Zweck des von Ihnen erstellten Dings darin besteht, Werbung anzuzeigen oder Benutzer zu verfolgen, nun, ich schätze, Sie werden mit einer nativen App besser abschneiden, vorausgesetzt, Sie erzielen die gleiche Art von Traffic wie mit einer Website (was fraglich ist).

Ich bin zögerlich, "weil native Apps sicherer sind" als Grund auf diese Liste zu setzen, da ich als Benutzer so wenig Kontrolle darüber habe, wie Ressourcen geladen werden, dass es sich für mich nicht wie ein *erhöhtes* Sicherheitsrisiko anfühlt. Aber die Tatsache, dass native Apps normalerweise einen Genehmigungsprozess durchlaufen, bevor sie in einem App Store verfügbar sind, bietet ein gewisses Maß an Schutz, das das Web nicht hat.

Mögliche Lösung: Ad-/Tracker-Blocker-Apps mit nativen Apps arbeiten lassen.

Weil Benutzer eingeloggt bleiben.

Das ist ein wichtiger Punkt! Sobald Sie in einer nativen App eingeloggt sind, bleiben Sie normalerweise eingeloggt, bis Sie sich explizit abmelden oder ein besonderes Ereignis eintritt, wie z. B. die Änderung Ihres Passworts auf einem anderen Gerät. Web-Apps scheinen den Login-Status häufiger zu verlieren, als man möchte, und das trägt zu einem unterbewussten Gefühl für die App bei. Speziell für iOS sind clientseitige Cookies auf 7 Tage begrenzt.

Wenn ich meine native Twitter-App öffne, öffnet sie sich einfach und ist einsatzbereit. Wenn ich davon ausgehen müsste, dass eine 30%ige Chance besteht, dass ich mich einloggen muss, würde ich sie sicher *viel* weniger nutzen. (Und hey, das mag eine gute Sache sein, aber ein Unternehmen wird das sicher nicht so sehen.)

Es gibt auch eine etwas umständliche Sache bei Web-Apps: Selbst wenn Sie in Ihrem primären mobilen Browser eingeloggt sind, sind Sie nicht unbedingt in einem anderen In-App-Browser-Kontext eingeloggt – während native Apps Links oft abfangen und immer im nativen App-Kontext öffnen.

Mögliche Lösung: Hier gibt es keine erstaunliche Lösung. Es ist größtenteils Trickserei. Zum Beispiel lange Cookie-Ablaufdaten (sechs Monate sind ungefähr das, was man bekommt, wenn man Glück hat, höre ich). Oder Sie können so etwas tun, dass Sie einen JSON Web Token (JWT) im Speicher behalten und ihn im Hintergrund regelmäßig neu authentifizieren. Es gibt einige andere Lösungen in diesem Thread, viele davon sind für mich etwas zu hoch. Das Anmeldeerlebnis zu vereinfachen ist auch eine Sache, wie die Verwendung von OAuth oder magischen E-Mail-Links, aber es ist einfach nicht dasselbe wie das Gefühl "immer eingeloggt zu sein". Vielleicht können kluge Browser-Leute etwas entwickeln.

Weil die Apps dieses „native Gefühl“ haben können.

Typischerweise bedeutet das: schnell und flüssig, aber auch, dass sie so aussehen und sich anfühlen wie andere Apps auf dieser Plattform. Apple bietet zum Beispiel SwiftUI an, das speziell für die Erstellung nativer Apps mit vorgefertigten Komponenten entwickelt wurde, die nach Apple aussehen. Das alles im Web zu replizieren, wird schwierig sein. Man muss sich den Hintern abarbeiten, um es so gut zu machen, wie man es "kostenlos" mit etwas wie SwiftUI bekommt.

Mögliche Lösung: Mobile Plattform-Ersteller könnten UI-Kits anbieten, die die Designsprache dieser mobilen Plattform ins Web bringen. Das hat Google weitgehend mit Material gemacht, obwohl die Web-Version noch nicht einsatzbereit ist und nur als "geplante" Veröffentlichung gilt.

Weil sie sich keinen virtuellen Raum mit Konkurrenten teilen, die nur einen Tipp entfernt sind.

Es gibt die Meinung, dass ein Webbrowser die wilde Grenze ist, da man nicht kontrolliert, wohin die Benutzer abwandern können. Wenn sie in Ihrer nativen App sind, ist das gut, dort wollen Sie sie haben. Wenn sie sich in einem Webbrowser befinden, teilen Sie sich Territorium mit unzähligen anderen Apps, anstatt sie auf Ihrem heiligen Boden zu halten.

Mögliche Lösung: Akzeptieren Sie es. Zu versuchen, die Existenz von Konkurrenten zu verbergen, ist keine gute Geschäftsstrategie. Die Stärke des Webs liegt darin, auf einer gemeinsamen, standardisierten, offenen Plattform herumhüpfen zu können.

Weil sie den vollen Funktionsumfang von APIs erhalten.

Alles, worauf das Web hoffen kann, ist der gleiche API-Zugriff wie bei nativen Apps. Zum Beispiel Zugriff auf Kamera, Fotos, GPS, Push-Benachrichtigungen, Kontakte usw. Native Apps erhalten die APIs zuerst, und wenn wir Glück haben, Jahre später erhalten wir im Web eine Art von Zugriff.

Entwickler könnten buchstäblich zu einer nativen App gezwungen werden, wenn eine kritische API im Web fehlt.

Ein großes Beispiel sind Push-Benachrichtigungen. Sind sie im Allgemeinen nervig? Ja, aber es ist eine stark genutzte API und oft eine geschäftliche Anforderung. Und sie ist für viele Apps sinnvoll ("Deine Runde kommt in 500 Fuß", "Dein Fahrer ist da", "Ihr Gepäck kommt auf Karussell 9 an", usw.). Wenn es entscheidend ist, dass Ihre App gute Push-Benachrichtigungen hat, ist das Web keine Option für Ihre App unter iOS.

Mögliche Lösung: Das Web sollte Funktionsparität mit Geräte-APIs haben und neue APIs sollten gleichzeitig für beide veröffentlicht werden.

Weil es einen App Store gibt.

Hier geht es um Auffindbarkeit. Der einzige App Store auf einer Plattform zu sein bedeutet, dass Sie potenziell kostenlose Aufmerksamkeit für Ihre App bekommen. Wenn Sie das beste Skee-Ball-Spiel für eine Plattform entwickeln, besteht eine gute Chance, dass Sie gute Bewertungen erhalten und bei einer Suche nach "Skee-Ball" in diesem App Store ganz oben stehen und Ihnen den Großteil dieses Nischenmarktes sichern. Das ist eine attraktive Aussicht für einen Entwickler. Die Weite ist im Web viel größer, ganz zu schweigen davon, dass SEO ein schwierigeres Spiel ist und sowohl Werbung als auch Marketing teuer sind. Ein Entwickler könnte sich für eine native App entscheiden, nur weil er dort vom Start weg ein größerer Fisch sein kann als im Web.

Und doch, wenn Sie eine App zum Musikhören entwickeln, werden Sie nie die großen Player übertreffen, besonders wenn die Macher der Plattform eigene Apps zum Konkurrieren haben. Das Web könnte gerade wegen des größeren potenziellen Publikums bessere Möglichkeiten für Apps in stark umkämpften Märkten bieten.

Mögliche Lösung: Web-Apps in App Stores zulassen.

Weil Offline-Unterstützung einfacher ist.

Die einzige Offline-Fähigkeit im Web überhaupt ist über Service Workers. Sie sind wirklich cool, aber ich würde argumentieren, dass sie nicht besonders einfach zu implementieren sind, besonders wenn der Plan ist, sie zu nutzen, um wirklich Offline-Erlebnisse für eine Web-App anzubieten, die sonst stark vom Netzwerk abhängig ist.

Native Apps sind weniger vom Netzwerk für alles abhängig. Die Kernressourcen, die die App zum Laufen bringen, sind bereits lokal verfügbar. Wenn also eine native App das Netzwerk nicht benötigt (sagen wir, ein Spiel), funktioniert sie offline einwandfrei. Selbst wenn sie das Netzwerk benötigt, um optimal zu funktionieren, scheint die Verfügbarkeit der zuletzt gespeicherten Daten ein typischer Ansatz zu sein, den viele Apps verfolgen.

Mögliche Lösung: Die Erstellung von Offline-Web-Apps erleichtern.


Podcast zu diesem Thema

ShopTalk 497: Der Stand nativer Apps und Web-Apps im Jahr 2022 mit Thomas Steiner


Ich bin ein Web-Typ und habe das Gefühl, dass die Entwicklung für das Web für die überwiegende Mehrheit der "App"-Situationen die kluge Wahl ist. Aber ich muss zugeben, die Liste der Gründe, warum ein Unternehmen sich für eine native App entscheidet, ist im Moment dick genug, dass es keine Überraschung ist, dass viele von ihnen es tun. Die erfolgreichsten scheinen beides zu tun, trotz der extremen Kosten, beides zu pflegen. So wie responsives Design erfolgreich verhindert hat, dass wir mehrere Versionen einer Website erstellen müssen, hoffe ich, dass diese komplexe Situation in Richtung einer Situation geht, in der Websites die offensichtliche und einzige Wahl für jede Art von App sind.