Fermer

février 29, 2024

Explorer Angular 17 : débloquer les performances avec des vues différées

Explorer Angular 17 : débloquer les performances avec des vues différées


Dans le monde trépidant du développement Web, offrir des expériences utilisateur transparentes et des performances ultra-rapides est primordial. Entrer @reporterun joyau caché dans l’arsenal d’Angular qui vous permet de réaliser les deux grâce à sa magie de chargement à la demande.

Imaginez une application riche en fonctionnalités et débordante de fonctionnalités. Chaque composant ajoute de la valeur, mais certains peuvent ne pas être pertinents pour chaque interaction utilisateur. Tout charger simultanément enlise l’expérience initiale, en particulier sur les connexions plus lentes. C’est là qu’intervient @defer, agissant comme un retardateur stratégique.

@reporter ne charge pas de contenu lourd jusqu’à ce que l’utilisateur le demande explicitement, que ce soit via un clic, un défilement ou tout autre déclencheur personnalisé que vous définissez. Cela se traduit par :

  • Temps de chargement initiaux ultra-rapides : Les utilisateurs, même avec des applications complexes, obtiennent une première impression simple et rapide.
  • Expérience utilisateur améliorée : Plus besoin d’attendre des composants qu’ils n’utiliseront peut-être jamais. @defer fournit le contenu exactement quand et où il est nécessaire.
  • Maintenabilité améliorée : Décomposez votre code en blocs modulaires et reportables pour une meilleure organisation et une gestion plus facile.

Considérez @defer comme une boîte à outils :

  • Déclencheurs : Définissez les interactions utilisateur ou la logique personnalisée qui lancent le chargement du contenu.
  • Espaces réservés : Tenez les utilisateurs informés grâce à des espaces réservés temporaires pendant que le contenu est en cours d’acheminement.
  • Indicateurs de chargement : Fournissez des repères visuels pour éviter toute confusion lors des processus de chargement.
  • La gestion des erreurs: Cela gère les erreurs qui peuvent survenir pendant le processus de chargement. Vous pouvez afficher des messages d’erreur ou du contenu de secours.

Vient maintenant la question de savoir comment utiliser @defer

Imaginez un composant graphique avec plusieurs fonctionnalités, avec @reporter, vous pouvez charger ce composant paresseusement sans aucun code passe-partout.

La seule chose à laquelle vous devez veiller est que le composant soit un Composant autonome.

Imaginez maintenant que le composant soit lourd et que son chargement puisse prendre un certain temps. Nous pouvons donc introduire un composant Loading qui peut gérer l’état de Loading avec élégance :

Voir exemple ci-dessous :

Considérons un autre scénario dans lequel nous pourrions devoir afficher un espace réservé pour donner un meilleure expérience utilisateur aux utilisateurs, alors voici @placeholder.

@placeholder est un bloc facultatif qui déclare le contenu à afficher avant le déclenchement du bloc de report

Il peut y avoir certains scénarios dans lesquels le chargement du bloc différé peut échouer. La raison peut être due à des problèmes de connectivité réseau ou à une coupure d’Internet ; Nous pouvons alors utiliser @erreur block pour gérer de tels scénarios.

Comprendre les déclencheurs dans @defer

Les vues différées dans Angular 17 vous permettent d’optimiser les temps de chargement initiaux en récupérant le contenu uniquement lorsque cela est vraiment nécessaire. Mais comment décider quand charger ce contenu ? Voici venir les déclencheurs de vue différée.

Il existe donc plusieurs types de déclencheurs que nous passerons en revue un par un :

Au repos : C’est le comportement par défaut avec un bloc de report. Déclenchera le chargement différé une fois que le navigateur aura atteint un état inactif

Sur la fenêtre : Charge le contenu lorsque l’élément spécifié entre dans la fenêtre.

Alternativement, vous pouvez définir une variable de référence de modèle dans le même modèle que le bloc @defer. Cette variable fait référence à l’élément observé pour l’entrée dans la fenêtre et est ensuite transmise en tant que paramètre au déclencheur de la fenêtre.

Sur les interactions

Le bloc différé sera déclenché lors de l’interaction de l’utilisateur avec l’élément spécifié, soit via des événements de clic ou de frappe.

En vol stationnaire: Le survol de la zone de déclenchement lance un chargement différé, déclenché par entrée de la souris et concentrer événements.

Immédiatement: Le déclenchement immédiat initie sans délai la charge différée. Le morceau différé commence à être récupéré immédiatement lorsque le client a terminé le rendu.

Au chronomètre: Le minuterie (x) s’activera après une durée spécifiée, où «x» représente l’intervalle de temps. Cette durée est obligatoire et peut être précisée dans millisecondes (ms) ou secondes (s)

Sur condition personnalisée : Imaginez un scénario dans lequel vous souhaitez reporter le chargement d’un composant uniquement sous certaines conditions. Par exemple, dans une application de chat, vous souhaiterez peut-être charger un composant d’historique de chat exclusivement lorsque l’utilisateur est authentifié.

Documentation officielle : https://angular.io/guide/defer

Conclusion

En maîtrisant les vues différées, vous vous donnez les moyens de créer des applications Angular hautes performances qui ravissent vos utilisateurs. Expérimentez, apprenez et partagez vos connaissances avec la communauté !

Consultez nos autres articles de blog pour plus d’informations. Si vous avez encore des questions, commentez et rejoignez la discussion.

VOUS TROUVEZ CECI UTILE ? PARTAGEZ-LE






Source link