Importations dynamiques de modules
Actuellement, l'importation de modules JavaScript est complètement statique et les développeurs ne peuvent pas importer des modules en fonction des conditions d'exécution, comme lorsqu’un utilisateur est connecté. La syntaxe import(specifier) permet désormais aux développeurs de charger dynamiquement du code dans des modules et des scripts pendant le runtime. Cela peut être utilisé pour charger un script seulement quand c'est nécessaire, ce qui améliore les performances de l'application.
L'exemple de code ci-dessous montre comment utiliser la fonction import(specifier) pour importer du JavaScript après un événement.
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 | button.addEventListener('click', event => { import('./dialogBox.js') .then(dialogBox => { dialogBox.open(); }) .catch(error => { /* Error handling */ }); }); |
Écrire du code qui effectue n'importe quelle sorte d'itération avec des fonctions asynchrones est susceptible de comporter peu d’élégance. Les nouvelles fonctions du générateur asynchrone utilisant le protocole d'itération asynchrone sont désormais disponibles pour aider les développeurs à rationaliser la consommation ou l'implémentation de sources de données en continu. Les itérateurs asynchrones peuvent être utilisés dans les boucles for et aussi pour créer des itérateurs asynchrones personnalisés à travers des usines d'itérateur asynchrones.
L'exemple de code ci-dessous montre comment utiliser des itérateurs asynchrones pour écrire du code de nettoyage pour des extractions en continu, en utilisant la fonction streamAsyncIterator.
Code : | Sélectionner tout |
1 2 3 4 5 6 7 | async function* getChunkSizes(url) { const response = await fetch(url); for await (const chunk of streamAsyncIterator(response.body)) { yield chunk.length; } } |
Google reconnaît qu’il est difficile pour les développeurs de créer une expérience utilisateur pouvant fonctionner sur tous les périphériques, en raison des capacités variables des périphériques. Aussi, la nouvelle API JavaScript Device Memory aide les développeurs à relever ce défi en utilisant la mémoire vive totale sur la machine d'un utilisateur pour fournir des informations sur les contraintes des périphériques. Cette analyse permet aux développeurs d'adapter le contenu à l'exécution en fonction des limitations matérielles. Par exemple, les développeurs peuvent proposer une application «allégée» aux utilisateurs des appareils bas de gamme, ce qui se traduit par de meilleures expériences et moins de frustrations. L'API Device Memory peut également être utilisée pour ajouter du contexte aux métriques, telles que la durée d'exécution d'une tâche en JavaScript, à travers l'objectif de la mémoire de l'appareil.
Modification de l'interface utilisateur des autorisations
Lorsque les sites Web requièrent des autorisations spéciales d'un utilisateur, ils déclenchent une demande d'autorisation. Actuellement, ces demandes d'autorisation apparaissent dans Chrome pour Android en tant que bannières qui peuvent être ignorées en bas de l'écran. Les développeurs les affichent souvent sans vérifier si l'utilisateur dispose du contexte approprié pour accorder l'autorisation. Google estime que cela entraîne une expérience utilisateur distrayante et les utilisateurs ignorent ou suppriment temporairement ces invites d'autorisation plus de 90 % du temps.
« Dans Chrome 59, nous avons commencé à résoudre ce problème en bloquant temporairement une autorisation si l'utilisateur rejette la demande trois fois. Dans une prochaine étape, dans cette version, Chrome pour Android présente désormais les demandes d'autorisation en tant que boîtes de dialogue modales. Cette modification réduit le nombre total d'invites d'autorisation de 50 %. Cela rend également les utilisateurs cinq fois plus susceptibles d'accepter ou de refuser des demandes, plutôt que de les ignorer temporairement ou de les ignorer à plusieurs reprises. Pour garantir que les utilisateurs comprennent la demande d'autorisation, les développeurs doivent présenter les demandes d'autorisation aux utilisateurs en temps voulu, car nous avons constaté que les utilisateurs étaient 2,5 fois plus susceptibles d'accorder des autorisations à un site demandant des autorisations avec contexte. »
Chrome 63 Beta est également livré avec un tas d'améliorations pour le moteur de navigateur Web Blink développé dans le cadre du projet Chromium, améliorant entre autres la gestion de Blink du CSS, du DOM, du réseau, des capteurs, du stockage, de JavaScript, de MediaStream, de HTML et des polices. Autant de changements internes qui sont importants pour la fiabilité globale de Chrome.
En dehors de cela, Chrome 63 prend en charge la fonction « display: minimal-ui », ce qui permet aux développeurs d'afficher une interface utilisateur ressemblant aux onglets personnalisés Chrome pour les utilisateurs.
Selon le calendrier de Google, cette version sera disponible en décembre.
Source : Google
Voir aussi :
Chrome : dès janvier 2018, la lecture automatique ne sera autorisée que si l'audio est coupée ou si l'utilisateur manifeste son intérêt