- Chrome 63 umożliwia importowanie modułów JavaScriptu dynamicznie.
- Moje ulubione pytanie podczas rozmowy kwalifikacyjnej dotyczące programowania staje się dziecinnie proste dzięki asynchronicznym iteratorom i generatorom.
- Domyślne zachowanie przewijania przy przepełnieniu możesz zastąpić za pomocą właściwości CSS
overscroll-behavior
. - Zmieniliśmy też sposób wyświetlania prośby o uprawnienia.
A to nie wszystko – to tylko część.
Mam na imię Pete LePage. Sprawdź, co nowego w Chrome 63 dla deweloperów.
Chcesz zobaczyć pełną listę zmian? Sprawdź listę zmian w repozytorium źródłowym Chromium.
Importowanie modułów dynamicznych
Importowanie modułów JavaScript jest bardzo wygodne, ale jest to rozwiązanie statyczne. Nie możesz importować modułów na podstawie warunków działania.
Na szczęście w Chrome 63 zmieniliśmy to za pomocą nowej składni importu dynamicznego. Umożliwia dynamiczne wczytywanie kodu do modułów i skryptów w czasie wykonywania. Możesz go używać do wczytywania skryptu tylko wtedy, gdy jest to potrzebne, co poprawia wydajność aplikacji.
button.addEventListener('click', event => {
import('./dialogBox.js')
.then(dialogBox => {
dialogBox.open();
})
.catch(error => {
/* Error handling */
});
});
Zamiast wczytywać całą aplikację, gdy użytkownik po raz pierwszy wejdzie na Twoją stronę, możesz pobrać zasoby potrzebne do zalogowania się. Początkowy ładunek jest niewielki i bardzo szybki. Gdy użytkownik się zaloguje, reszta zostanie załadowana.
Async iterators and generators
Pisanie kodu, który wykonuje jakiekolwiek iteracje za pomocą funkcji async
, może być nieestetyczne.
To w istocie główna część mojego ulubionego pytania dotyczącego kodowania na rozmowie kwalifikacyjnej.
Teraz dzięki funkcjom generatora asynchronicznego i iteracji asynchronicznej protokołu, konsumpcja lub implementacja strumieniowych źródeł danych staje się bardziej płynna, a moje pytanie dotyczące kodowania staje się znacznie łatwiejsze.
async function* getChunkSizes(url) {
const response = await fetch(url);
const b = response.body;
for await (const chunk of magic(b)) {
yield chunk.length;
}
}
Iteratorów asynchronicznych można używać w pętlach for-of
, a także do tworzenia własnych asynchronicznych iteratorów za pomocą fabryk iteratorów asynchronicznych.
Działanie overscroll
Przewijanie jest jednym z podstawowych sposobów interakcji ze stroną, ale niektóre wzorce mogą być trudne do zinterpretowania. Na przykład funkcja przeciągania do odświeżenia w przeglądarce, która polega na przesunięciu palcem w dół u góry strony, powoduje pełne ponowne wczytanie.
Przed odświeżeniem całej strony.
Następnie odśwież tylko treści.
W niektórych przypadkach możesz chcieć zastąpić to zachowanie i zapewnić użytkownikom własne wrażenia. Właśnie tak działa progresywna aplikacja internetowa Twittera: gdy przewijasz w dół, zamiast wczytywać całą stronę, po prostu dodaje do bieżącego widoku nowe tweety.
Chrome 63 obsługuje teraz właściwość CSS overscroll-behavior
, dzięki czemu można łatwo zastąpić domyślne zachowanie przewijania w przypadku przepełnienia.
Możesz go używać do:
- Anulowanie łańcuchowania przewijania
- Wyłączanie i dostosowywanie funkcji przeciągania do odświeżenia
- Wyłączanie efektu gumki na iOS
- Dodawanie nawigacji za pomocą przesunięcia
- I wiele innych…
Najlepsze jest to, że overscroll-behavior
nie ma negatywnego wpływu na skuteczność strony.
Zmiany w interfejsie uprawnień
Uwielbiam powiadomienia push, ale jestem naprawdę sfrustrowana liczbą witryn, które proszą o zgodę podczas wczytywania strony bez żadnego kontekstu. Nie jestem w tym odosobnieniu.
90% wszystkich próśb o uprawnienia jest ignorowanych lub tymczasowo blokowanych.
W Chrome 59 zaczęliśmy rozwiązywać ten problem, tymczasowo blokując uprawnienia, jeśli użytkownik odrzuci prośbę trzy razy. W wersji 63 m przeglądarka Chrome na Androida będzie wyświetlać prośby o uprawnienia w oknach dialogowych.
Pamiętaj, że nie dotyczy to tylko powiadomień push, ale wszystkich próśb o przyznanie uprawnień. Jeśli poprosisz o pozwolenie w odpowiednim momencie i w odpowiednim kontekście, użytkownicy będą dwa i pół razy bardziej skłonni do udzielenia Ci zgody.
I inne funkcje
To tylko kilka z wielu zmian w Chrome 63 dla deweloperów.
finally
jest teraz dostępna w przypadku instancjiPromise
i jest wywoływana po spełnieniu lub odrzuceniuPromise
.- Nowe Device Memory JavaScript API pomaga zrozumieć ograniczenia wydajności, podając wskazówki dotyczące łącznej ilości pamięci RAM na urządzeniu użytkownika. Możesz dostosować działanie aplikacji w czasie jej wykonywania, co zmniejszy złożoność na słabszych urządzeniach i zapewni użytkownikom lepsze wrażenia bez frustracji.
- Interfejs
Intl.PluralRules
API umożliwia tworzenie aplikacji, które rozumieją liczbę mnogą w danym języku, wskazując, która forma liczby mnogiej ma zastosowanie w przypadku danej liczby i języka. Może też pomóc w przypadku liczb porządkowych.
Zasubskrybuj nasz kanał w YouTube, aby otrzymywać e-maile z powiadomieniami o publikowaniu nowych filmów.
Nazywam się Pete LePage i zaraz po wydaniu Chrome 64 opowiem Ci, co nowego w Chrome.