- 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.
BigInt
ułatwia obsługę dużych liczb całkowitych.
A to nie wszystko – to dopiero początek.
Mam na imię Pete LePage. Zobaczmy, co nowego w Chrome 67 dla deweloperów.
Chcesz zobaczyć pełną listę zmian? Sprawdź listę zmian w repozytorium źródłowym Chromium.
PWA na komputery
Progresywne aplikacje internetowe na komputery są teraz obsługiwane w ChromeOS 67. Rozpoczęliśmy już prace 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. Service worker zapewnia szybkość i niezawodność, a okno aplikacji sprawia, że czują się oni w nim jak w domu. Tworzą one atrakcyjne treści dla użytkowników.
Rozpoczęcie korzystania z Google Analytics 4 UA nie różni się niczym od tego, co robisz już teraz. Wszystkie zmiany wprowadzone w dotychczasowej progresywnej aplikacji internetowej nadal będą obowiązywać. Musisz tylko wziąć pod uwagę kilka dodatkowych punktów przerwania.
Jeśli Twoja aplikacja spełnia standardowe kryteria dotyczące aplikacji internetowych, Chrome wywoła zdarzenie beforeinstallprompt
, ale nie wyświetli automatycznie prompta. Zamiast tego zapisz zdarzenie, a potem dodaj do aplikacji element interfejsu użytkownika, np. przycisk instalowania aplikacji, aby poinformować użytkownika, że może ją zainstalować. Gdy użytkownik kliknie przycisk, Chrome wyświetli prośbę o nawiązanie połączenia na podstawie zapisanego zdarzenia. 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 ten artykuł, 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ć takie funkcje jak gry z użyciem rzeczywistości rozszerzonej, 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 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);
};
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 potrzebne 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 znaki czasu o wysokiej dokładności nie mogą być bezpiecznie reprezentowane jako Numbers
w JavaScript, co często prowadzi do błędów w praktyce (z tego powodu często reprezentujemy 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 BigInt
możemy bezpiecznie przechowywać i wykonywać arytmetykę całkowitą bez przepełnienia. Obecnie,
obsługa dużych liczb całkowitych zwykle wymaga korzystania z biblioteki, która emuluje funkcje podobne do funkcji 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 przyspiesza działanie, ale też skraca czas wczytywania, analizowania i kompilowania, ponieważ nie trzeba już wczytywać dodatkowych bibliotek.
I wiele więcej!
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. Wykorzystał on 2 rodzaje 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 subskrypcji na naszym kanale w YouTube. Otrzymasz e-maila z powiadomieniem, gdy tylko opublikujemy nowy film.
Nazywam się Pete LePage i zaraz po wydaniu Chrome 68 opowiem Ci o nowościach w tej przeglądarce.