Rendre votre page Web plus rapide
Qu'est-ce qu'un DOM ? Que mange-t-il ?
Le DOM (Document Object Model) est la base des pages Web et de leur développement. Il s'agit d'une interface de programmation pour les documents HTML et XML, représentant la structure d'un document dans un objet arborescent. Avec branches et feuilles. Chaque élément, attribut et morceau de texte du document devient un nœud dans cette arborescence. Il permet à JavaScript d'interagir avec les éléments HTML, de les modifier ou d'ajouter de nouveaux éléments. Il s'agit d'un résumé approximatif de ce que chaque personne vit sur le Web, de l'interaction, de la mutabilité, des repères visuels et des éléments dynamiques. Lorsque vous cliquez sur un bouton ou sur un menu brillant, votre cerveau s'attend à ce que quelque chose se produise. À une phrase à modifier, à une nouvelle page be à charger ou à une popup avec une coche verte nous indiquant que notre commande en ligne a été payée avec succès.
Manipuler le DOM trop rapidement, chaque seconde, est un grand non-non pour la rétention des utilisateurs ou même pour l'interaction de base de l'utilisateur. Même avec tout le comportement dynamique que nous pouvons créer et étendre l'expérience utilisateur, la surutilisation des manipulations DOM peut être très frustrante. Et le dernier mot vient toujours de l’utilisateur. Si des opérations cruciales se déroulent en arrière-plan de votre page, comme la récupération de données, mais que les performances diminuent et se détériorent de minute en minute après que l'utilisateur interagit avec elle, il peut être très difficile et intimidant d'identifier les points d'étranglement.
Un exemple de manière simple d'utiliser la manière de base de faire les choses et de le faire plus rapidement consiste à utiliser textContent de vanilla js. Oui je sais. La plupart du temps, nous avons besoin d'un cycle de vie complexe pour les composants qui sont si dynamiques et mutables que nous besoins d'utiliser la gestion d'état et autres. Mais ce n’est pas toujours le cas. Si vous ne modifiez qu'un texte ou mettez à jour un cookie une fois par session, avez-vous vraiment besoin d'utiliser une logique aussi complexe et une option aussi gourmande en ressources ?
La fonction textContent est la plus rapide de js pour manipuler du texte par rapport à des options de fonctionnalités similaires, par exemple la méthode innerHtml la plus populaire. Voir ces tests chronométrés pour référence.
Pourquoi?
Vous pouvez économiser la mémoire de la machine de l'utilisateur pour d'autres opérations plus efficaces. Parfois, être accessible et raisonnablement rapide sur de très vieux appareils Android ou Apple, par exemple, est indispensable. Ou peut-être que votre appel API renvoie un JSON si gros que vous avez besoin de quelques secondes pour l'analyser et le manipuler correctement. Ainsi, chaque seconde pendant laquelle l'utilisateur ne reçoit aucun retour ou reste bloqué à regarder une animation CSS à l'écran compte.
J'ai beaucoup appris récemment en codant en JavaScript sans dépendances, comme défi et expérience d'apprentissage. Comme récupérer des données et créer une application à faire avec uniquement du HTML, CSS et JavaScript. Pas de npm, pas de bibliothèques. Et j'ai découvert un tas de méthodes et d'objets de l'API Web dont je n'avais jamais entendu parler auparavant, comme l'objet DocumentFragment. Il crée un « fragment » vide d'une structure DOM et vous permet de le manipuler et de le remplir avant de modifier réellement le DOM de la page. Ainsi, vous chargez un objet avec votre liste de menus ou les titres de votre outil super sophistiqué alimenté par l'IA, et une fois que vous avez terminé les opérations d'ajout et les balises d'imbrication, vous le corrigez une fois au DOM. De telle manière que l'analyse n'a lieu qu'une seule fois, en une seule fois, au lieu de faire une boucle for avec de nombreux appels identiques, et de nécessiter une nouvelle analyse de l'arbre à la fin de chaque appel.
Alors disons que je clique sur un bouton très rapidement, car mon cas d'utilisation nécessite un rendu très rapide, plus d'une fois par seconde. L'utilisation de votre bibliothèque de gestion d'état préférée peut créer une sorte de barrière dans ce cas, car après chaque clic, un nouvel événement est déclenché, il doit donc se déclencher avant de démarrer la deuxième instance de l'événement dans la pile, par défaut. Selon la complexité ou la nécessité d'une opération asynchrone, cela peut prendre plus d'une seconde. Dans ce cas d’utilisation, c’est un facteur décisif. Ainsi, choisir le bon outil peut être plus simple, plus court et même plus rapide. De nos jours, il existe des options proposées par les bibliothèques populaires pour résoudre ce problème, comme interrompre l'exécution d'un nouveau rendu lorsqu'un nouvel événement identique s'est déclenché récemment. Mais mon objectif ici n’est pas de simplement rechercher une application Web jolie et moderne. Mais pour vous faciliter la vie en rendant la maintenance aussi simple que possible et ne pas vous tirer une balle dans le pied en faisant aveuglément confiance à des morceaux de code que quelqu'un a écrit et dit que c'est la meilleure option.
Si vous installez déjà ces packages et bibliothèques pour lancer votre projet, pourquoi ne pas rechercher pourquoi les erreurs et les exceptions crachent des appels de fonction inconnus ou des messages cryptés sur la console ?
Conclusion et quelques divagations supplémentaires
Obtenir gratuitement un service opérationnel sur le cloud ou dans un service très courant peut être très rapide et si simple de nos jours. Utiliser une plaque passe-partout comme point de départ peut être très utile et vous fera gagner du temps sans vous soucier des tâches très basiques et récurrentes. Tapez simplement une seule commande dans votre terminal et voilà, le routage de base et une page hello world fonctionnant sur un serveur local.
Personne, nulle part sur Internet, ne saura toujours ce qu'une bibliothèque déterminée ou un framework entier fait sous le capot, mais plus vous saurez comment les choses fonctionnent, plus souvent vous serez en mesure de prendre des décisions plus éclairées et de travailler efficacement.
Les frameworks les plus populaires pour le développement Web font un excellent travail pour optimiser le rendu et manipuler le DOM en utilisant des ressources comme un DOM virtuel ou implémenter une sorte de persistance pour les opérations très exigeantes qui récupèrent des données.
Les outils de développement Web de votre navigateur Web de choix sont votre meilleur ami ici. Les versions plus récentes de ces outils peuvent vous fournir une télémétrie et même montrer quelle partie de votre code ou quels appels sont le point d'étranglement possible de vos performances.
En sachant comment fonctionne le langage JavaScript ou comment il implémente sa façon de faire, vous pouvez facilement identifier les situations dans lesquelles une fonction prête à l'emploi de votre bibliothèque préférée pourrait vous obliger à créer une base de code plus volumineuse et à ne pas vous concentrer sur la résolution du problème. problème. Cela pourrait simplement attirer votre attention sur la réplication d'un morceau de code que vous avez écrit des centaines de fois. Et même avec l'IA pour augmenter votre productivité, vous pourriez tomber dans le piège d'utiliser une solution suggérée par votre compagnon artificiel, et en réalité rendre les choses plus difficiles à maintenir à l'avenir.
Ne vous inquiétez pas, parfois nous ne savons tout simplement pas mieux. Comme je l'ai dit, personne ne peut tout savoir à tout moment.
Expérimenter et faire des erreurs dans des moments plus indulgents vous aidera beaucoup et vous donnera les outils dont vous avez besoin pour faire mieux. La prochaine fois que vous aurez l'occasion de faire quelque chose d'aussi simple que déployer un serveur de fichiers statique ou coder une logique très complexe pour un cas d'utilisation très spécialisé, connaître les bases vous mènera très loin et vous donnera plus de clarté face à de nouveaux problèmes dans votre carrière.
Je vous recommande fortement de consulter la documentation de l'API Web. En plus de jeter un œil aux blogs en ligne, aux réseaux sociaux ou aux ressources axées sur le développement Web.
Si j'ai fait des erreurs, ce qui est probable, n'hésitez pas à me le faire savoir dans les commentaires. Je suis à l'écoute des critiques et des nouvelles idées, alors s'il vous plaît, partagez-les si vous le souhaitez !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Python convient plus aux débutants, avec une courbe d'apprentissage en douceur et une syntaxe concise; JavaScript convient au développement frontal, avec une courbe d'apprentissage abrupte et une syntaxe flexible. 1. La syntaxe Python est intuitive et adaptée à la science des données et au développement back-end. 2. JavaScript est flexible et largement utilisé dans la programmation frontale et côté serveur.

Les principales utilisations de JavaScript dans le développement Web incluent l'interaction client, la vérification du formulaire et la communication asynchrone. 1) Mise à jour du contenu dynamique et interaction utilisateur via les opérations DOM; 2) La vérification du client est effectuée avant que l'utilisateur ne soumette les données pour améliorer l'expérience utilisateur; 3) La communication de rafraîchissement avec le serveur est réalisée via la technologie AJAX.

L'application de JavaScript dans le monde réel comprend un développement frontal et back-end. 1) Afficher les applications frontales en créant une application de liste TODO, impliquant les opérations DOM et le traitement des événements. 2) Construisez RestulAPI via Node.js et Express pour démontrer les applications back-end.

Comprendre le fonctionnement du moteur JavaScript en interne est important pour les développeurs car il aide à écrire du code plus efficace et à comprendre les goulots d'étranglement des performances et les stratégies d'optimisation. 1) Le flux de travail du moteur comprend trois étapes: analyse, compilation et exécution; 2) Pendant le processus d'exécution, le moteur effectuera une optimisation dynamique, comme le cache en ligne et les classes cachées; 3) Les meilleures pratiques comprennent l'évitement des variables globales, l'optimisation des boucles, l'utilisation de const et de locations et d'éviter une utilisation excessive des fermetures.

Python et JavaScript ont leurs propres avantages et inconvénients en termes de communauté, de bibliothèques et de ressources. 1) La communauté Python est amicale et adaptée aux débutants, mais les ressources de développement frontal ne sont pas aussi riches que JavaScript. 2) Python est puissant dans les bibliothèques de science des données et d'apprentissage automatique, tandis que JavaScript est meilleur dans les bibliothèques et les cadres de développement frontaux. 3) Les deux ont des ressources d'apprentissage riches, mais Python convient pour commencer par des documents officiels, tandis que JavaScript est meilleur avec MDNWEBDOCS. Le choix doit être basé sur les besoins du projet et les intérêts personnels.

Les choix de Python et JavaScript dans les environnements de développement sont importants. 1) L'environnement de développement de Python comprend Pycharm, Jupyternotebook et Anaconda, qui conviennent à la science des données et au prototypage rapide. 2) L'environnement de développement de JavaScript comprend Node.js, VScode et WebPack, qui conviennent au développement frontal et back-end. Le choix des bons outils en fonction des besoins du projet peut améliorer l'efficacité du développement et le taux de réussite du projet.

C et C jouent un rôle essentiel dans le moteur JavaScript, principalement utilisé pour implémenter des interprètes et des compilateurs JIT. 1) C est utilisé pour analyser le code source JavaScript et générer une arborescence de syntaxe abstraite. 2) C est responsable de la génération et de l'exécution de bytecode. 3) C met en œuvre le compilateur JIT, optimise et compile le code de point chaud à l'exécution et améliore considérablement l'efficacité d'exécution de JavaScript.

Python est plus adapté à la science et à l'automatisation des données, tandis que JavaScript est plus adapté au développement frontal et complet. 1. Python fonctionne bien dans la science des données et l'apprentissage automatique, en utilisant des bibliothèques telles que Numpy et Pandas pour le traitement et la modélisation des données. 2. Python est concis et efficace dans l'automatisation et les scripts. 3. JavaScript est indispensable dans le développement frontal et est utilisé pour créer des pages Web dynamiques et des applications à une seule page. 4. JavaScript joue un rôle dans le développement back-end via Node.js et prend en charge le développement complet de la pile.
