Nowości w Chrome 67

  • Progresywne aplikacje internetowe na komputer
  • Interfejs API ogólnego czujnika znacznie ułatwia uzyskiwanie dostępu do czujników urządzenia, takich jak akcelerometr czy żyroskop.
  • Z kolei BigInt znacznie ułatwiają radzenie sobie z dużymi liczbami całkowitymi.

I wiele innych.

Mam na imię Pete LePage. Zobaczmy, co nowego dla deweloperów w Chrome 67.

Chcesz zobaczyć pełną listę zmian? Zapoznaj się z listą zmian w repozytorium źródłowym Chromium.

PWA na komputery

Progresywna aplikacja internetowa Spotify na komputery

Progresywne aplikacje internetowe na komputery są teraz obsługiwane w ChromeOS 67. Rozpoczęliśmy już pracę nad obsługą systemów Mac i Windows. Po zainstalowaniu są one uruchamiane tak samo jak inne aplikacje i działają w oknie aplikacji, bez paska adresu ani kart. Dzięki nim są one szybkie i niezawodne, a okno aplikacji sprawia, że czują się w nich jak w domu. Zwiększają też atrakcyjność treści dla użytkowników.

Rozpoczęcie korzystania z tej funkcji nie różni się niczym od tego, co robisz już teraz. Wszystkie czynności wykonane przez Ciebie w obecnej progresywnej aplikacji internetowej są nadal aktualne. Wystarczy, że weźmiesz pod uwagę dodatkowe przerwy.

Jeśli Twoja aplikacja spełnia standardowe kryteria dotyczące aplikacji internetowych, Chrome wywoła zdarzenie beforeinstallprompt, ale nie wyświetli automatycznie prompta użytkownikowi. Zamiast tego zapisz zdarzenie, a potem dodaj do swojej aplikacji interfejs (np. przycisk instalowania aplikacji), aby poinformować użytkownika, że można ją zainstalować. Następnie, gdy użytkownik kliknie przycisk, wywołaj prompt przy zapisanym zdarzeniu. Chrome wyświetli tę prośbę użytkownikowi. Jeśli klikną „Dodaj”, Chrome doda PWA do półki i launchera.

Obejrzyj moją prezentację z Google I/O, w której omawiamy z Jenny szczegółowe kwestie techniczne i specjalne aspekty projektowania, o których warto pamiętać podczas tworzenia progresywnej aplikacji internetowej na komputery.

Jeśli chcesz zacząć korzystać z tej funkcji na Macu lub Windowsie, przeczytaj post na temat progresywnych aplikacji internetowych na komputer, aby dowiedzieć się, jak włączyć obsługę za pomocą flagi.

Interfejs Generic Sensor API

Dane z czujników są używane w wielu aplikacjach, aby umożliwić korzystanie z funkcji takich jak wciągające gry, monitorowanie aktywności czy rzeczywistość rozszerzona lub wirtualna. Te dane są teraz dostępne dla aplikacji internetowej korzystającej z interfejsu Generic Sensor API.

Interfejs API składa się z podstawowego interfejsu Sensor z zestawem konkretnych klas czujników utworzonych na jego podstawie. Podstawowy interfejs upraszcza proces implementacji i specyfikacji konkretnych klas czujników. Na przykład klasa żyroskopu jest bardzo malutka.

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

Podstawowe funkcje są określone w interfejsie podstawowym, a Gyroscope rozszerza je tylko 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 demonstracji interfejsu generic sensors API oraz przykładowy kod. Zaktualizowała też wpis z października Sensors for the Web!, w którym znajdziesz wszystkie niezbędne informacje.

BigInt s

BigInt to nowy typ liczbowy w JavaScript, który może reprezentować liczby całkowite z dowolną precyzją. Duże identyfikatory całkowite i sygnatury czasowe o wysokiej dokładności nie mogą być bezpiecznie przedstawione w kodzie JavaScript jako Numbers, co często prowadzi do rzeczywistych błędów (z tego powodu często postrzegamy takie liczby jako ciągi znaków).

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?

Dzięki BigInts możemy bezpiecznie przechowywać i wykonywać obliczenia arytmetyczne bez nadmiaru wartości. Obecnie, obsługa dużych liczb całkowitych zwykle wymaga korzystania z 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 wykonywania na rzecz natywnej BigInts. Natywne wdrożenie nie tylko przyspieszy działanie, ale też skróci czas wczytywania, analizowania i kompilowania, ponieważ nie będzie trzeba wczytywać dodatkowych bibliotek.

I inne funkcje

To tylko kilka z wielu zmian w Chrome 67 dla deweloperów.

Interfejs Credential Management API jest obsługiwany od wersji Chrome 51 i zawiera ramy do tworzenia, pobierania i przechowywania danych logowania. Służyły do tego 2 typy danych logowania: PasswordCredential i FederatedCredential. Web Authentication API dodaje trzeci typ danych logowania, PublicKeyCredential, który umożliwia przeglądarkom uwierzytelnianie użytkownika za pomocą pary kluczy prywatnych/publicznych wygenerowanych przez uwierzytelniacz, np. klucz bezpieczeństwa, czytnik linii papilarnych lub inne urządzenie, które może uwierzytelnić użytkownika. Chrome 67 umożliwia interfejs API za pomocą uwierzytelniania U2F/CTAP 1 przez interfejs USB na komputerze.

Więcej informacji na ten temat znajdziesz w poście Eiji Włączanie silnego uwierzytelniania za pomocą WebAuthn.

Podsumowanie konferencji Google I/O

Jeśli nie udało Ci się wziąć udziału w konferencji I/O lub nie udało Ci się obejrzeć wszystkich wykładów, zajrzyj do playlisty Chrome i internetu, aby dowiedzieć się wszystkiego, co wydarzyło się na Google I/O.

Nowości w Narzędziach deweloperskich

Zapoznaj się z artykułem Nowości w Narzędziach deweloperskich w Chrome, aby dowiedzieć się, co nowego w wersji 67.

Subskrybuj

Następnie kliknij przycisk Subskrybuj na naszym kanale w YouTube. Otrzymasz e-maila z powiadomieniem, gdy opublikujemy nowy film.

Nazywam się Pete LePage i zaraz po wydaniu Chrome 68 opowiem Ci, co nowego w tej wersji przeglądarki.