Nowości w Chrome 67

A jest to wiele innych!

Nazywam się Pete LePage. Przyjrzyjmy się, co nowego dla deweloperów w Chrome 67.

Chcesz zobaczyć pełną listę zmian? Sprawdź listę zmian repozytorium źródłowego Chromium.

Progresywne aplikacje PWA na komputery

Progresywna aplikacja internetowa Spotify na komputer

Progresywne aplikacje internetowe na komputery są teraz obsługiwane w ChromeOS 67 i już pracujemy nad ich obsługą dla systemów Mac i Windows. Po zainstalowaniu aplikacje są uruchamiane tak samo jak inne aplikacje i działają w oknie aplikacji, bez paska adresu ani kart. Mechanizmy Service Worker dbają o to, aby były szybkie i niezawodne, dzięki czemu czują się w niej zintegrowani. Zapewniają też atrakcyjne wrażenia użytkowników.

Pierwsze kroki nie różnią się niczym od tego, co już robisz. Cała praca wykonana w przypadku dotychczasowej progresywnej aplikacji internetowej nadal obowiązuje. Wystarczy wziąć pod uwagę dodatkowe przerwy.

Jeśli Twoja aplikacja spełnia standardowe kryteria PWA, Chrome uruchamia zdarzenie beforeinstallprompt, ale nie pyta automatycznie użytkownika o zgodę. Zapisz zdarzenie, a potem dodaj do aplikacji jakiś interfejs – na przykład przycisk instalacji aplikacji – informujący użytkownika, że można ją zainstalować. Następnie, gdy użytkownik kliknie przycisk, wywołaj polecenie związane z zapisanym zdarzeniem. Chrome wyświetli to żądanie. Gdy kliknie Dodaj, Chrome doda Twoją PWA do półki i Menu z aplikacjami.

Obejrzyj moją rozmowę z konferencji Google I/O, w której razem z Jenny szczegółowo omawiamy kwestie techniczne oraz specjalne kwestie projektowe, o których trzeba pamiętać podczas tworzenia progresywnej aplikacji internetowej na komputery.

A jeśli chcesz zacząć grać na Macu lub komputerze z systemem Windows, przeczytaj pełnego posta o progresywnej aplikacji internetowej na komputery, by dowiedzieć się, jak włączyć obsługę flagi.

Ogólny Sensor API

Dane z czujników są wykorzystywane w wielu aplikacjach do obsługi takich funkcji jak wciągające gry, śledzenie aktywności czy rzeczywistość rozszerzona lub wirtualna. Dane te są teraz dostępne dla aplikacji internetowej za pomocą interfejsu General Sensor API.

Interfejs API składa się z podstawowego interfejsu czujnika z zestawem betonowych klas utworzonych na górze. Korzystanie z interfejsu podstawowego upraszcza proces wdrażania i specyfikacji konkretnych klas czujników. Na przykład klasa „żyroskop” jest bardzo mała.

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);
};

Główna funkcjonalność jest określana przez interfejs podstawowy, a żyroskop tylko ją rozszerza o 3 atrybuty reprezentujące prędkość kątową. Chrome 67 obsługuje akcelerometr, żyroskop, czujnik orientacji i czujnik ruchu.

Firma Intel przygotowała kilka wersji demonstracyjnych interfejsu API czujników oraz przykładowego kodu, a także zaktualizowaliśmy post z września Sensors for the Web!, aby zawierał wszystko, co warto wiedzieć.

BigInt s

BigInt to nowy liczbowy element podstawowy w języku JavaScript, który może reprezentować liczby całkowite z dowolną precyzją. Duże identyfikatory w postaci liczb całkowitych i wysokiej dokładności sygnatur czasowych nie mogą być bezpiecznie reprezentowane jako Numbers w języku JavaScript, co często prowadzi do rzeczywistych błędów (ponieważ często prezentujemy takie liczby jako ciągi tekstowe).

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?

Za pomocą BigInt można bezpiecznie przechowywać i przeprowadzać liczby całkowite bez przepełnienia. Obecnie w przypadku dużych liczb całkowitych musimy użyć biblioteki, która emuluje funkcję podobną do BigInt.

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

Gdy BigInt stanie się powszechnie dostępna, będziemy mogli zrezygnować z tych zależności w czasie działania i zacząć korzystać z natywnych kreacji BigInts. Implementacja natywna jest nie tylko szybsza, ale też skraca czas wczytywania oraz analizowania i kompilowania, ponieważ nie będziemy musieli wczytywać tych dodatkowych bibliotek.

…i wiele innych.

To tylko niektóre ze zmian w Chrome 67 dla deweloperów, oczywiście jest ich znacznie więcej.

Interfejs Credential Management API jest obsługiwany od Chrome w wersji 51 i zapewnia platformę do tworzenia, pobierania i przechowywania danych logowania. Zrobiliśmy to za pomocą 2 typów danych logowania: PasswordCredential i FederatedCredential. Interfejs Web Uwierzytelnianie API dodaje trzeci typ danych logowania – PublicKeyCredential, który umożliwia przeglądarkom uwierzytelnianie użytkownika za pomocą pary kluczy (prywatnego/publicznego) wygenerowanej przez mechanizm uwierzytelniający, taki jak klucz bezpieczeństwa, czytnik linii papilarnych lub inne urządzenie, które może uwierzytelnić użytkownika. Chrome 67 włącza interfejs API za pomocą uwierzytelniania U2F/CTAP 1 przez transport USB na komputerze.

Więcej informacji na ten temat znajdziesz w poście Eiji na temat włączania silnego uwierzytelniania przez WebAuthn (w języku angielskim).

Google I/O to wielki sukces

Jeśli nie udało Ci się dotrzeć na I/O albo było to możliwe, ale nie udało Ci się obejrzeć wszystkich internetowych prezentacji, sprawdź playlistę dotyczącą Chrome i internetu, aby być na bieżąco z nowościami z Google I/O.

Nowości w Narzędziach deweloperskich

Zapoznaj się z nowościami w Narzędziach deweloperskich w Chrome, aby poznać nowości w Narzędziach deweloperskich w Chrome 67.

Zasubskrybuj

Potem kliknij przycisk subskrypcji na naszym kanale w YouTube, a za każdym razem, gdy opublikujemy nowy film, otrzymasz e-maila z powiadomieniem.

Nazywam się Pete LePage i jak tylko pojawi się Chrome 68, zajmę się tym, co nowego w Chrome.