Neu in Chrome 67

  • Progressive Web-Apps für den Desktop
  • Die Generic Sensor API erleichtert den Zugriff auf Gerätesensoren wie Beschleunigungsmesser und Gyroskop.
  • Und BigInts machen den Umgang mit großen Ganzzahlen viel einfacher.

Und es gibt noch viel mehr!

Ich bin Pete LePage. Sehen wir uns an, was es Neues für Entwickler in Chrome 67 gibt.

Möchten Sie die vollständige Liste der Änderungen sehen? Liste der Änderungen im Chromium-Quell-Repository

Desktop-PWAs

Progressive Web-App von Spotify für den Desktop

Progressive Web-Apps für den Desktop werden jetzt unter ChromeOS 67 unterstützt und wir arbeiten bereits an der Unterstützung für Mac und Windows. Nach der Installation werden sie auf dieselbe Weise wie andere Apps gestartet und in einem App-Fenster ohne Adressleiste oder Tabs ausgeführt. Service Worker sorgen dafür, dass sie schnell und zuverlässig sind. Durch die Integration in das App-Fenster wirken sie wie ein Bestandteil der App. Außerdem bieten sie Ihren Nutzern eine ansprechende Erfahrung.

Der Einstieg unterscheidet sich nicht von dem, was Sie heute schon tun. Alle Arbeiten, die Sie für Ihre bestehende progressive Web-App durchgeführt haben, gelten weiterhin. Sie müssen lediglich einige zusätzliche Breakpoints berücksichtigen.

Wenn Ihre App die PWA-Kriterien erfüllt, löst Chrome das beforeinstallprompt-Ereignis aus, fordert den Nutzer aber nicht automatisch auf. Speichern Sie das Ereignis stattdessen und fügen Sie Ihrer App dann eine Benutzeroberfläche hinzu, z. B. eine Schaltfläche zum Installieren der App, um dem Nutzer mitzuteilen, dass Ihre App installiert werden kann. Wenn der Nutzer dann auf die Schaltfläche klickt, rufen Sie „prompt“ für das gespeicherte Ereignis auf. Chrome zeigt dem Nutzer dann die Aufforderung an. Wenn sie auf „Hinzufügen“ klicken, wird Ihre PWA in Chrome in der Ablage und in der Übersicht hinzugefügt.

In meinem Google I/O-Talk gehen Jenny und ich ausführlich auf die technischen und besonderen Designaspekte ein, die Sie bei der Entwicklung einer progressiven Web-App für den Desktop berücksichtigen müssen.

Wenn Sie diese Funktion auf einem Mac- oder Windows-Computer nutzen möchten, finden Sie im vollständigen Beitrag zu Desktop-Progressive Web-Apps weitere Informationen dazu, wie Sie die Unterstützung mit einem Flag aktivieren können.

Generic Sensor API

Sensordaten werden in vielen Apps verwendet, um Funktionen wie immersives Gaming, Fitnesstracking sowie Augmented Reality oder Virtual Reality zu ermöglichen. Diese Daten sind jetzt für Web-Apps über die Generic Sensor API verfügbar.

Die API besteht aus einer Sensor-Basisschnittstelle mit einer Reihe von konkreten Sensor-Klassen, die darauf aufbauen. Eine Basisschnittstelle vereinfacht die Implementierung und Spezifikation der konkreten Sensor-Klassen. Die Klasse „Gyroscope“ ist beispielsweise sehr klein.

const sensor = new Gyroscope({frequency: 500});
sensor.start();

sensor.onreading = () => {
    console.log("X-axis " + sensor.x);
    console.log("Y-axis " + sensor.y);
    console.log("Z-axis " + sensor.z);
};

Die Kernfunktionen werden durch die Basisschnittstelle angegeben. Gyroscope erweitert sie lediglich um drei Attribute, die die Winkelgeschwindigkeit darstellen. Chrome 67 unterstützt den Beschleunigungsmesser, das Gyroskop, den Orientierungssensor und den Bewegungssensor.

Intel hat mehrere Demos der Generic Sensors API und Beispielcode zusammengestellt und den Beitrag „Sensors for the Web!“ vom September mit allen wichtigen Informationen aktualisiert.

BigInt s

BigInts sind ein neuer numerischer Primitivtyp in JavaScript, der Ganzzahlen mit beliebiger Genauigkeit darstellen kann. Große Ganzzahl-IDs und Zeitstempel mit hoher Genauigkeit können in JavaScript nicht sicher als Numbers dargestellt werden, was häufig zu Fehlern in der Praxis führt. Aus diesem Grund stellen wir solche Zahlen oft als Strings dar.

let max = Number.MAX_SAFE_INTEGER;
// → 9_007_199_254_740_991
max = max + 1;
// → 9_007_199_254_740_992 - Yay!
max = max + 1;
// → 9_007_199_254_740_992 - Uh, no?

Mit BigInts> können wir Ganzzahlen sicher speichern und arithmetische Operationen ausführen, ohne dass es zu einem Überlauf kommt. Heutzutage müssen wir bei der Verarbeitung großer Ganzzahlen in der Regel auf eine Bibliothek zurückgreifen, die BigInt-ähnliche Funktionen emuliert.

let max = BigInt(Number.MAX_SAFE_INTEGER);
// → 9_007_199_254_740_991n
max = max + 9n;
// → 9_007_199_254_741_000n - Yay!

Wenn BigInt allgemein verfügbar ist, können wir diese Laufzeitabhängigkeiten zugunsten von nativem BigInts entfernen. Die native Implementierung ist nicht nur schneller, sondern trägt auch dazu bei, die Lade-, Analyse- und Kompilierungszeiten zu verkürzen, da die zusätzlichen Bibliotheken nicht geladen werden müssen.

…und vieles mehr

Das sind natürlich nur einige der Änderungen in Chrome 67 für Entwickler.

Die Credential Management API wird seit Chrome 51 unterstützt und bietet ein Framework zum Erstellen, Abrufen und Speichern von Anmeldedaten. Dazu wurden zwei Anmeldedatentypen verwendet: PasswordCredential und FederatedCredential. Die Web Authentication API fügt einen dritten Anmeldedatentyp hinzu, PublicKeyCredential. Damit können Browser einen Nutzer mit einem privaten/öffentlichen Schlüsselpaar authentifizieren, das von einem Authentifikator wie einem Sicherheitsschlüssel, einem Fingerabdruckscanner oder einem anderen Gerät generiert wird, das einen Nutzer authentifizieren kann. In Chrome 67 wird die API für die Verwendung von U2F-/CTAP1-Authentifikatoren über den USB-Transport auf dem Desktop aktiviert.

Weitere Informationen finden Sie im Beitrag von Eiji Enabling Strong Authentication with WebAuthn.

Die Google I/O ist vorbei

Wenn Sie nicht auf der I/O waren oder nicht alle Web-Vorträge gesehen haben, können Sie sich in der Chrome- und Web-Playlist über alle Neuigkeiten von der Google I/O informieren.

Neues in den Entwicklertools

Neu in den Chrome-Entwicklertools

Abonnieren

Klicke dann auf unserem YouTube-Kanal auf die Schaltfläche Abonnieren. Du erhältst dann eine E-Mail-Benachrichtigung, wenn wir ein neues Video veröffentlichen.

Ich bin Pete LePage und sobald Chrome 68 veröffentlicht wird, erfahrt ihr hier, was es Neues in Chrome gibt.