Progressive Web-Apps können mehr als nur das Rendern von Inhalten auf dem Bildschirm oder das Herstellen einer Verbindung zu Webdiensten. PWAs können Dateien aus dem Dateisystem verarbeiten, mit der Zwischenablage des Systems interagieren, auf Hardware zugreifen, die mit dem Gerät verbunden ist, und vieles mehr. Jede Web API ist für Ihre PWA verfügbar. Wenn Ihre App installiert ist, stehen Ihnen außerdem einige zusätzliche APIs zur Verfügung.
Unter What Web Can Do Today erfahren Sie, was auf den einzelnen Plattformen möglich ist. Für einzelne APIs oder Funktionen kannst du Can I Use oder die Browserkompatibilitätstabellen auf der MDN verwenden.
Immer prüfen, ob Funktionen unterstützt werden
Der erste Buchstabe in PWA steht für progressiv und basiert auf den Konzepten Progressive Enhancement und Funktionserkennung. Sie sollten nicht erwarten, dass Ihre App auf allen Geräten gleich funktioniert. Dank der Vielfalt an Kontexten und Fähigkeiten auf Milliarden von Geräten in verschiedenen Ländern sind PWAs aufgrund ihrer Fortschrittlichkeit eine hervorragende Plattform.
Das bedeutet, dass Sie Ihre App in Ebenen entwickeln müssen, die möglicherweise nicht auf allen Geräten verfügbar sind, und die Verfügbarkeit vor der Nutzung prüfen.
Prüfen Sie mit JavaScript, ob eine API vorhanden ist, bevor Sie sie verwenden, oder fragen Sie eine API, ob ein Dienst auf dem jeweiligen Gerät verfügbar ist.
Leistungsstarkes Web
Das Web ist heutzutage enorm leistungsfähig. Beispiel:
- Sie können eine hyperlokale Videoanruf-App mit WebRTC, Standortbestimmung und Push-Nachrichten erstellen.
- Sie können eine App installierbar machen.
- Mit WebAssembly können Sie Videoeffekte hinzufügen.
- Mit WebGL und WebXR lassen sich sogar virtuelle Realitäten realisieren.
Leistungsstarke PWA
Lassen Sie uns die APIs für PWA-Funktionen in vier Gruppen unterteilen:
- Grün: APIs, die, sofern technisch möglich, in jedem Browser und auf jeder Plattform verfügbar sind. Die meisten von ihnen werden schon seit vielen Jahren versandt, sie gelten als ausgereift und können problemlos verwendet werden. Eine Beispiel-API aus dieser Gruppe ist die Geolocation API.
- Hellgrün: APIs sind nur in bestimmten Browsern verfügbar. Aufgrund der mangelnden Unterstützung auf einigen Plattformen haben sie sich in der unterstützten Untergruppe von Browsern weiterentwickelt, sodass Sie die Funktion auf ihnen problemlos nutzen können. Eine Beispiel-API aus dieser Gruppe ist WebUSB.
- Gelb: experimentelle APIs. Diese APIs sind noch nicht ausgereift. Sie sind nur in bestimmten Browsern und im Rahmen von Tests oder Tests verfügbar. Wir haben diese Funktionen bereits im Kapitel „Experimentell“ behandelt.
- Rot: Die Gruppe der APIs, die nicht in einer PWA verwendet werden können, und deren Pläne ihre Einführungen noch langfristig umfassen. Eine Beispiel-API aus dieser Gruppe ist Geofencing.
Umweltfreundliche Funktionen
Nachfolgend finden Sie eine Liste der wichtigsten Funktionen, die Sie in Ihrer PWA verwenden können.
Grundlagen
- Dateien mithilfe der Cache API lokal im Cache speichern, wie im Kapitel „Caching“ beschrieben
- Ausführung von Aufgaben in Threads mit Web Workern, wie im Kapitel Komplexitätsmanagement beschrieben
- Netzwerkanfragen mit verschiedenen Strategien in einem Service Worker verwalten, wie im Kapitel Service Worker beschrieben
- 2D Canvas zum Rendern von 2D-Grafiken auf dem Bildschirm mit der Canvas API.
- 2D- und 3D-Hochleistungs-Canvas oder WebGL zum Rendern von 3D-Grafiken.
- WebAssembly oder WASM, um Low-Level-kompilierten Code auszuführen, um die Leistung zu steigern.
- Echtzeitkommunikation mit der WebRTC API.
- Web Performance APIs zur Messung und Verbesserung der Nutzerfreundlichkeit Weitere Informationen finden Sie im Leitfaden zur Performance API.
- Speichern Sie Daten lokal mit IndexedDB und Speicherverwaltung, um das Kontingent abzufragen und nichtflüchtigen Speicher anzufordern, wie im Kapitel Offlinedaten beschrieben.
- Niedrige Audioqualität dank der Web Audio API.
- Erkennung im Vordergrund mithilfe der Page visibility API
- Netzwerkkommunikation mit der Fetch API und der WebSocket API
Hardware und Sensoren
- Die Standortbestimmung ermittelt den Standort des Nutzers über die Geolocation API über verschiedene Anbieter, z. B. über Satellit oder WLAN.
- Kamera und Mikrofon empfangen über die Schnittstelle Mediengeräte Medienstreams von Kameras und Mikrofonen.
- Die Sensoren erfassen über die Sensors API oder ältere Benutzeroberflächen wie DeviceMotionEvent und DeviceOrientationEvent Echtzeitinformationen vom Beschleunigungsmesser, Gyroskop, Magnetometer und anderen Anwendungen. In Safari müssen Sie eine nicht standardmäßige Berechtigungsdialoganfrage senden, um sie verwenden zu können.
- Touch und Zeiger: Mithilfe von Zeiger-Ereignissen und Touch-Ereignissen erhalten Sie Informationen zu allen Berührungen und Zeigerklicks, die Sie mit Ihrem Finger, einer Maus, einem Touchpad oder einem Stift ausführen.
- Gamepads zum Lesen von Informationen von standardmäßigen Gamepads und Joysticks, die über die Gamepad API mit dem Gerät verbunden sind.
- Biometrische Authentifizierung (z. B. Gesichtserkennung oder Fingerabdruck) über die Webauthentifizierung oder WebAuthn
Betriebssystemintegration
- Für Sprachsynthese und Spracherkennung werden die auf der Plattform installierten Stimmen verwendet, um mit dem Nutzer zu sprechen und zu erkennen, was er sagt – dank der Web Speech API.
- Mit der Web Share API können Sie Inhalte aus Ihrer PWA für andere Apps und Orte auf dem Gerät freigeben, wie im Kapitel zur Betriebssystemintegration beschrieben.
- Greife auf die Zwischenablage zu, um Inhalte aus der Zwischenablage in verschiedenen Formaten zu speichern und daraus abzurufen. Das geht mithilfe der Clipboard API wie im Kapitel zur Betriebssystemintegration beschrieben.
- Verwalten Sie die Anmeldedaten und Passwörter von Nutzern mit der Credential Management API.
- Aktivieren Sie Bild im Bild, das im Betriebssystem über die Bild im Bild API abgespielt wird.
- Mit der Fullscreen API, wie ich im Kapitel zu Windows gezeigt habe, kannst du Inhalte im Vollbildmodus rendern.
Hellgrün-Funktionen
Im Folgenden finden Sie eine Liste der wichtigsten Funktionen, die Sie in Ihrer PWA verwenden können. Sie sind jedoch möglicherweise nicht in jedem Browser verfügbar.
Grundlagen
- WebGL 2.0, die neue Version der WebGL-Spezifikation für OpenGL 3.0
- Codecs, ein Low-Level-Zugriff auf die einzelnen Frames eines Videostreams und Audioblöcke. Nützlich für Webanwendungen, bei denen die vollständige Kontrolle über die Verarbeitung von Medien über die Web Codecs API erforderlich ist.
Hardware und Sensoren
- Erweiterte Kamerasteuerelemente für den Zugriff auf Steuerelemente für Schwenken, Neigen und Zoomen (zusätzlich zu den Media APIs).
- Bluetooth LE zur Kommunikation mit Bluetooth-Niedrigenergiegeräten in der Nähe des Nutzers über die Web Bluetooth API Weitere Informationen finden Sie unter Kommunikation mit Bluetooth-Geräten über JavaScript.
- Nahfeldkommunikation zum Austausch von Daten über NFC über NDEF-Nachrichten (Light-weight NFC Data Exchange Format) wie ein NFC-Tag oder eine NFC-Karte mit der WebNFC API. Weitere Informationen finden Sie auch unter Mit NFC-Geräten in Chrome für Android interagieren.
Serielles Peripheriegerät für den einfachen Zugriff auf Geräte, die über einen seriellen Port, ein USB-Kabel oder serielle Geräte über Bluetooth mit dem Web Serial WPI verbunden sind Unter dem folgenden Link erfahren Sie, wie Sie Daten aus einem seriellen Port lesen und schreiben.
USB-Gerätezugriff zur Kommunikation mit Geräten, die über die USB WebUSB API verbunden sind Weitere Informationen finden Sie unter Zugriff auf USB-Geräte im Web.
Mit Human Interface Devices kann Ihre PWA über die WebHID API mit allen Arten von Geräten interagieren, die für eine ungewöhnliche Interaktion durch Menschen vorbereitet sind. In diesem Leitfaden erfahren Sie, wie Sie Verbindungen zu ungewöhnlichen HID-Geräten herstellen.
- Umgebungslicht misst zusätzlich zur Sensors API den aktuellen Helligkeitsgrad oder die Beleuchtung des Umgebungslichts um das Gerät herum.
- Die Vibration gibt dem Nutzer über die Vibration API ein haptisches Feedback, wenn etwas passiert, sofern das Gerät dies unterstützt.
- Bei Aufzeichnungen werden die von einem MediaStream- oder HTMLMediaElement-Objekt (z. B.
<video>
-Tag) generierten Daten mithilfe der MediaRecorder API zum Analysieren, Verarbeiten oder Speichern auf einem Laufwerk erfasst. - Wenn Sie einen Wakelock auf dem Bildschirm anwenden, wird mithilfe der Screen Wake Lock API verhindert, dass das Gerät den Bildschirm dunkelt oder gesperrt wird, wenn Ihre PWA weiter ausgeführt werden muss.
- Mit Virtual Reality können Sie mithilfe der WebXR Device API ein Headset und andere Geräte in Ihrer PWA verwenden.
- Augmented Reality kann in Ihrer PWA auf verschiedene Weise umgesetzt werden, z. B. mithilfe der WebXR Device API oder der Safari Quick Look App für AR-Inhalte.
- Inaktive Nutzer mit der Idle Detection API erkennen.
- Die Ausrichtungssperre sperrt die Ausrichtung auf Hoch- oder Querformat, während die PWA auf dem Bildschirm zu sehen ist. Das ist mithilfe der Screen Orientation API oder der Eigenschaft
orientation
des Web App Manifest bei installierten Apps möglich. - Inhalte auf Projektoren und sekundären Bildschirmen präsentieren – dank der Presentation API.
- Sperren Sie einen Zeiger, um mithilfe der Pointer Lock API Informationen zur Deltabewegung von Zeigern (Mäuse, Touchpads und Zeigern) anstelle von Positionswerten zu erhalten. Das ist für einige Spiele nützlich.
Betriebssystemintegration
- Mit der File System Access API können Sie Dateien auf dem Gerät lesen und schreiben, wie im Kapitel OS Integration beschrieben.
- Wie ich im Kapitel zur Integration von Betriebssystemen gezeigt habe, kannst du über Web Share Target Inhalte aus anderen Apps abrufen.
- Rufen Sie Kontaktdaten mithilfe der Contact Picker API ab, wie im Kapitel Integration von Betriebssystem beschrieben.
- Dank der Background Synchronization API im Hintergrund synchronisieren, wenn die PWA nicht verwendet wird.
- Aufgabenplanung: mit der Web Periodic Background Synchronization API, wenn die PWA nicht verwendet wird.
- Senden Sie Benachrichtigungen mit Web Push und Web Notifications API.
- Dank der Background Fetch API können Sie Dateien im Hintergrund übertragen, während der Nutzer Ihre PWA nicht verwendet.
- Binden Sie die Medienwiedergabe über die Media Session API in das Betriebssystem ein.
- Verwalten Sie Zahlungen in Ihrer PWA mithilfe der Payment Request API. Neben der Payment Request API bietet Apple auch eine Apple Pay JS-Bibliothek an.
- Netzwerkstatus abfragen, z. B. den Verbindungstyp (4G, WLAN) und das Flag „Daten speichern“ mithilfe der Network Information API
- Erfassen Sie den Bildschirm des Nutzers für einen Screencast oder eine Bildschirmfreigabe mit der Screen Capture API.
- Formen erkennen werden mithilfe von hardwarebeschleunigten Detektoren auf dem Gerät einschließlich Barcodes (Gesichter von Menschen und Text-OCR sind noch in der Entwicklung) mithilfe der Shape Detection API.
- Den Arbeitsspeicher eines Geräts abfragen über die Schnittstelle für den Gerätespeicher.
- Mit Einmalpasswörtern per SMS können Sie automatisch einen Code per SMS erhalten, der von Ihrem Server über die WebOTP API gesendet wird. Safari implementiert eine Lösungsteilmenge basierend auf dem Element
<input>
. Weitere Informationen finden Sie im WebKit-Blog. - Verwalten Sie die Bildschirmtastatur, die auf Bildschirmen von Mobilgeräten angezeigt wird. Verwenden Sie dazu die Virtual Keyboard API.