Manfred Steyer Selbstständig

Durch die Unterstützung von Push Notifications kommen progressive Web-Apps ihrem Ziel, die Annehmlichkeiten nativer Anwendungen zu bieten, einen Schritt näher.

Einige Browser unterstützen bereits heute Push Notifications und bieten somit ein weiteres Merkmal, das in der Vergangenheit nativen Anwendungen vorbehalten war. Durch den Einsatz von Service Workers können diese außerhalb des Browserfensters sogar dann erscheinen, wenn die Anwendung nicht läuft oder das Endgerät gesperrt ist.

Progressive Web-Apps verfolgen das Ziel, den von nativen Anwendungen gebotenen Komfort ins Web zu bringen. Dazu gehört die Möglichkeit, die Anwendung über den Home-Bildschirm ohne lange Ladezeiten zu starten, aber auch die Implementierung von Offlineszenarien zum Überbrücken schlechter oder fehlender Datenverbindungen. Zusätzlich unterstützen einige Browser auch schon den Empfang von Push Notifications. Wie bei ihren nativen Gegenstücken informieren diese den Benutzer selbst dann über aufgetretene Ereignisse, wenn er die Browseranwendung gerade nicht ausführt oder gar den Sperrbildschirm aktiviert hat. Dazu blendet das System eine kurze Nachricht außerhalb des Anwendungsfensters ein (Abb. 1).

Artikelserie

Teil 1: Progressive Web-Apps mit Angular 2 und Service Workers
Teil 2: Browserdatenbanken und Synchronisierung im Hintergrund
Teil 3: Echte Push Notifications für progressive Web-Apps

Dieser Artikel geht auf die Implementierung solcher Szenarien ein. Dazu stellt er eine Erweiterung zur in der vorliegenden Artikelreihe verwendeten Angular-2-Anwendung vor. Den gesamten Quellcode stellt der Autor unter zur Verfügung.

Abb. 1: Die Push-Nachricht für die Webanwendung erscheint außerhalb des Browserfensters

Abb. 1: Die Push-Nachricht für die Webanwendung erscheint außerhalb des Browserfensters

Push im Web

Push Notifications funktionieren im Web ähnlich wie bei klassischen Anwendungen: Der Client, hier der Browser, registriert sich bei einem Push-Dienst und erhält dabei eine ID (Abb. 2). Diese gibt er an ein Web-API weiter. Um später eine Push-Nachricht an den Client zu senden, beauftragt es den Push-Dienst unter Angabe der ID. Durch dieses Vorgehen muss der Browser nur mit dem Push-Dienst und nicht mit den einzelnen Web-APIs in Kontakt bleiben.

Abb. 2: Nachrichten werden über einen Push-Dienst versendet

Abb. 2: Nachrichten werden über einen Push-Dienst versendet

Derzeit unterstützen Chrome und Firefox die Standards für solche Benachrichtigungen, aber auch andere Browserhersteller haben Interesse daran bekundet. Beispielsweise arbeitet Microsoft gerade an einer Unterstützung für Edge, und Apple führt für die zugrunde liegenden Service Workers zumindest den Status „under consideration“ an.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Windows Developer 9.16 - "Test first, build better"

Alle Infos zum Heft
255482Web-Apps mit Push Notifications durch Service Worker
X
- Gib Deinen Standort ein -
- or -