Können mobile Anwendungen eine serverlose Architektur nutzen?

Hybride mobile Anwendungen, bei denen es sich um Webanwendungen handelt und die sich wie native mobile Anwendungen verhalten, können mit einem serverlosen Backend erstellt werden, um die Skalierbarkeit zu erhöhen, die Kosten zu senken und Code von jedem Hosting-Standort aus auszuführen.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Den Unterschied zwischen hybriden und nativen Apps verstehen
  • Verstehen, wie hybride Apps mit einer serverlosen Architektur erstellt werden können
  • Die Vorteile der Verwendung eines serverlosen Backends verstehen

Link zum Artikel kopieren

Können mobile Anwendungen eine serverlose Architektur nutzen?

Die serverlose Architektur kann neben Webanwendungen auch für die Erstellung von mobilen Apps genutzt werden. Hybride mobile Apps mit einem serverlosen Backend ermöglichen den Entwicklern, die Vorteile des Serverless-Computings zu nutzen und gleichzeitig Apps zu veröffentlichen, die auf fast jedem Smartphone oder Tablet wie native Anwendungen funktionieren. Serverlose mobile Apps können schnell und einfach skaliert werden, wenn der Benutzerstamm wächst.

Diagramm einer mobilen App mit serverlosem Backend

Was ist eine hybride mobile App?

Hybride mobile Apps und native mobile Apps sind wie zwei Autos, die gleich aussehen, dasselbe Interieur haben und ungefähr gleich fahren, aber sehr unterschiedliche Motoren unter der Haube haben. Eine native App wird speziell für eine bestimmte Art von Gerät und Betriebssystem entwickelt, und ihre Logik läuft auf dem Gerät selbst.

Eine hybride App ist eine Webanwendung, die mit HTML, CSS und JavaScript erstellt wurde und in einem so genannten „nativen Wrapper“ ausgeführt wird, so dass sie auf einer Vielzahl von Geräten wie eine native mobile App funktioniert. Im Gegensatz zu normalen Webanwendungen können hybride Apps auf plattformspezifische Funktionen zugreifen, einschließlich Gerätehardware und für einen bestimmten Gerätetyp spezifische Push-Benachrichtigungsfunktionen. Diese hybriden Apps können aus dem App Store oder Google Play heruntergeladen werden, und sie werden wie native Apps installiert, obwohl oft viel weniger heruntergeladen und installiert werden muss, da der Großteil oder die gesamte Logik in der Cloud gehostet wird.

Hybride Apps haben in den letzten Jahren deutlich an Beliebtheit gewonnen, da die Bedenken hinsichtlich der Performance durch technische Verbesserungen ausgeräumt wurden – so sind z. B. Uber, Instagram und Twitter allesamt hybride Anwendungen. Die Entwickler ziehen es manchmal vor, eine hybride Architektur zu verwenden, anstatt native mobile Anwendungen zu erstellen, so dass die Anwendung nicht in mehreren plattformspezifischen Sprachen für verschiedene Geräte neu erstellt werden muss. Und so überrascht es nicht, dass die Entwicklung einer App, die auf mehreren Geräten funktioniert, in der Regel sowohl bei der Entwicklung als auch beim laufenden Produktsupport Zeit spart.

Wie funktioniert eine mobile Anwendung mit einem serverlosen Backend?

Bei hybriden mobilen Apps findet die Datenverarbeitung in der Cloud statt, nicht auf dem Gerät. Alle Cloud-gehosteten Rechenprozesse für die App können serverlos sein, genau wie eine serverlose Webanwendung; der einzige wesentliche Unterschied zwischen einer serverlosen Webanwendung und einer serverlosen hybriden mobilen App ist der native Wrapper* auf dem Frontend.

Wie bei einer serverlosen Webanwendung wird der App-Code von einem Serverless-Anbieter gehostet, der das gesamte Backend-Management übernimmt. Die Anwendung ist in kleinere Teile aufgeteilt, die Funktionen genannt werden, und diese Funktionen sind nicht auf bestimmten Servern vorhanden. Jede Funktion wird als Reaktion auf auslösende Ereignisse ausgeführt, und die Infrastruktur des Anbieters startet bei Bedarf neue Instanzen von Funktionen. Wenn ein Benutzer z. B. in einer App mit einem serverlosen Backend auf die Schaltfläche „Kaufen“ tippt, kann dies eine Backend-Funktion oder eine Reihe von Funktionen auslösen, die die Transaktion starten, aufzeichnen und die Lieferung der vom Benutzer erworbenen Produkte einleiten.

Was sind die Vorteile der Entwicklung einer mobilen App mit einem serverlosen Backend?

Serverlose mobile Apps bieten die gleichen Vorteile wie die Erstellung einer typischen Webanwendung mit einem serverlosen Backend:

  • Skalierbarkeit: Serverlose Apps sind automatisch skalierbar.
  • Weniger Organisationsaufwand: Der Anbieter verwaltet das gesamte Backend.
  • Schnelle Aktualisierungen: Entwickler können Funktionen einzeln aktualisieren, anstatt die gesamte Anwendung zu aktualisieren, und es ist nicht nötig, auf die Installation von Updates durch die Benutzer zu warten.
  • Pay-as-you-go: Entwickler zahlen nur für die von der Anwendung genutzte Rechenleistung, was die laufenden Kosten senken kann.
  • Code überall ausführen: Der Code kann in einem Edge-Netzwerk ausgeführt werden, um die Latenz zu verringern.

Weitere Informationen über serverlose Anwendungen, die mit JavaScript erstellt wurden, finden Sie unter Wie funktioniert serverloses JavaScript?

*Wie funktioniert ein nativer Wrapper?

Hybride Apps können wie native Apps funktionieren, indem sie den WebView des Geräts nutzen. Ein WebView ist ein geräteinterner Browser, der die Anwendung wie ein Browser anzeigt und Entwicklern gleichzeitig eine größere Flexibilität bei der Anpassung des Erscheinungsbildes ihrer App bietet als ein normaler Browser. Zusätzlich ermöglichen die meisten WebViews der Anwendung über eine API den Zugriff auf Hardware-Funktionen auf dem Gerät.

Wenn ein Benutzer zum Beispiel Instagram öffnet, sieht die App wie eine native App aus, die auf dem Gerät ausgeführt wird. In Wirklichkeit rendert jedoch der WebView des Geräts Webseiten, die von Instagram generiert wurden. Der Feed mit Bildern, den die Benutzer beim ersten Öffnen der App sehen, ist eine Webseite, und alle folgenden Seiten, die sie besuchen, sind Webseiten, obwohl sie aussehen, als wären sie Teil einer nativen Anwendung. Instagram ist auch in der Lage, auf die Kamera und die gespeicherten Fotos des Geräts zuzugreifen, obwohl es keine native App ist, und es kann Push-Benachrichtigungen senden.