Neu in Chrome 67

  • Progressive Web-Apps gibt es bald auch für Desktop-Computer
  • Die generische Sensor API erleichtert den Zugriff auf Gerätesensoren wie Beschleunigungsmesser und Gyroskop.
  • Und BigInts erleichtern den Umgang mit großen Ganzzahlen.

Das sind noch reichlich mehr!

Mein Name ist Pete LePage. Jetzt sehen wir uns an, was es für Entwickler bei Chrome 67 Neues gibt.

Möchten Sie die vollständige Liste der Änderungen sehen? Weitere Informationen finden Sie in der Änderungsliste des Chromium-Quell-Repositorys.

PWAs für Computer

Die progressive Desktop-Web-App von Spotify

Progressive Web-Apps auf dem Computer werden jetzt unter ChromeOS 67 unterstützt und wir haben bereits damit begonnen, an der Unterstützung für Mac und Windows zu arbeiten. Nach der Installation werden sie auf die gleiche Weise wie andere Anwendungen gestartet und in einem Anwendungsfenster ohne Adressleiste oder Tabs ausgeführt. Service Worker sorgen dafür, dass sie schnell und zuverlässig arbeiten, da sie sich dank des Anwendungsfensters eingebunden fühlen. Und sie schaffen ein interessantes Erlebnis für Ihre Nutzer.

Der Einstieg ist nicht anders als das, was Sie heute bereits machen. Die gesamte Arbeit, die du für deine bestehende progressive Web-App geleistet hast, gilt weiterhin, aber du musst nur einige zusätzliche Hürden berücksichtigen.

Wenn deine App die standardmäßigen PWA-Kriterien erfüllt, wird in Chrome das Ereignis beforeinstallprompt ausgelöst, der Nutzer wird jedoch nicht automatisch dazu aufgefordert. Speichern Sie stattdessen das Ereignis. Fügen Sie Ihrer App dann eine UI hinzu, z. B. eine Schaltfläche zum Installieren von Apps, um dem Nutzer mitzuteilen, dass Ihre App installiert werden kann. Wenn der Nutzer dann auf die Schaltfläche klickt, wird die Aufforderung für das gespeicherte Ereignis aufgerufen. Chrome zeigt dem Nutzer die Aufforderung an. Wenn er auf „Hinzufügen“ klickt, fügt Chrome Ihre PWA in die Ablage und den Launcher ein.

Sehen Sie sich meinen Google I/O-Vortrag an, in dem Jenny und ich ausführlich auf die technischen und speziellen Designüberlegungen eingehen, die Sie beim Erstellen einer progressiven Desktop-Web-App berücksichtigen müssen.

Wenn Sie dies auf Mac- oder Windows-Geräten schon ausprobieren möchten, finden Sie im vollständigen Beitrag zu progressiven Web-Apps für Desktop-Computer Informationen dazu, wie Sie die Unterstützung mit einem Flag aktivieren.

Generische Sensor API

Sensordaten werden in vielen Apps verwendet, um Erlebnisse wie immersives Gaming, Fitnesstracking und Augmented Reality oder Virtual Reality zu ermöglichen. Diese Daten sind jetzt für die Webanwendung mit der Generic Sensor API verfügbar.

Die API besteht aus einer Sensorbasisschnittstelle, auf der eine Reihe konkreter Sensorklassen aufgebaut ist. Eine Basisschnittstelle vereinfacht die Implementierung und Spezifikation für die konkreten Sensorklassen. Zum Beispiel ist die Klasse Gyroskop 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 Kernfunktionalität wird durch die Basisschnittstelle festgelegt. Gyroskop erweitert sie lediglich um drei Attribute, die die Winkelgeschwindigkeit darstellen. Chrome 67 unterstützt den Beschleunigungsmesser, das Gyroskop, den Ausrichtungssensor und den Bewegungssensor.

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

BigInt Sek.

BigInts sind eine neue numerische Primitive in JavaScript, die 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. Dies führt häufig zu Programmfehlern, die häufig als Strings dargestellt werden.

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 ganzzahlige Arithmetiken sicher gespeichert und ausgeführt werden, ohne dass ein Überlauf auftritt. Heutzutage bedeutet der Umgang mit großen Ganzzahlen in der Regel, dass wir auf eine Bibliothek zurückgreifen müssen, 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!

Sobald BigInt allgemein verfügbar ist, können wir diese Laufzeitabhängigkeiten zugunsten der nativen BigInts verwerfen. Die native Implementierung ist nicht nur schneller, sondern auch die Ladezeit, die Analyse- und Kompilierungszeit können reduziert werden, da diese zusätzlichen Bibliotheken nicht geladen werden müssen.

…und vieles mehr

Dies sind nur einige der Änderungen in Chrome 67 für Entwickler. Und natürlich gibt es noch viel mehr.

Die Credential Management API wird seit Chrome 51 unterstützt und bietet ein Framework zum Erstellen, Abrufen und Speichern von Anmeldedaten. Dazu wurden zwei Arten von Anmeldedaten verwendet: PasswordCredential und FederatedCredential. Die Web Authentication API fügt den dritten Anmeldedatentyp PublicKeyCredential hinzu. Damit können Browser einen Nutzer mit einem Paar aus privatem und öffentlichem Schlüssel authentifizieren, das von einem Authenticator wie einem Sicherheitsschlüssel, einem Fingerabdruckleser oder einem anderen Gerät zur Authentifizierung eines Nutzers generiert wird. Chrome 67 aktiviert die API mithilfe von U2F/CTAP 1-Authenticatoren über USB-Transport auf dem Computer.

Weitere Informationen finden Sie im Eiji-Beitrag Enable Strong Authentication with WebAuthn (Starke Authentifizierung mit WebAuthn aktivieren).

Die Google I/O ist beendet

Wenn Sie nicht auf der I/O dabei waren, aber nicht alle Web-Talks gesehen haben, sehen Sie sich die Playlist für Chrome und das Web an. Dort finden Sie alle Neuigkeiten von der Google I/O.

Neu in den Entwicklertools

Unter Neu in den Chrome-Entwicklertools erfahren Sie mehr über die Neuerungen bei den Entwicklertools in Chrome 67.

Abonnieren

Klicke anschließend in unserem YouTube-Kanal auf die Schaltfläche Abonnieren. Du wirst dann jedes Mal per E-Mail benachrichtigt, wenn wir ein neues Video veröffentlichen.

Ich bin Pete LePage. Sobald Chrome 68 veröffentlicht wird, melde ich mich, um Sie über die Neuheiten in Chrome zu informieren.