Apprendre en construisant soi-même le fonctionnement des frameworks JavaScript modernes
(nolanlawson.com)Comprendre le fonctionnement des frameworks JavaScript modernes
- Construire son propre framework JavaScript aide à apprendre.
- Les « frameworks JavaScript modernes » désignent les frameworks apparus après React.
- Ces frameworks ont été inspirés par React, mais ont évolué dans des directions similaires.
Caractéristiques des frameworks modernes
- Utilisation de la réactivité (reactivity) pour mettre à jour le DOM.
- Utilisation du clonage de templates (cloning templates) pour le rendu du DOM.
- Utilisation d’API web modernes comme
<template>etProxy.
Réactivité (Reactivity)
- On mentionne souvent que React n’est pas réactif.
- Les frameworks modernes privilégient les performances en utilisant un modèle réactif basé sur le push.
- Avec
Proxy, ils sont implémentés de façon à mettre à jour le DOM à chaque changement d’état.
Clonage d’arbres DOM (Cloning DOM trees)
- Utiliser la balise
<template>pour parser le HTML une seule fois puis cloner rapidement l’ensemble est une technique efficace. - Cette méthode est utilisée dans divers frameworks JavaScript.
API JavaScript modernes
<template>etProxysont des API qui aident à construire un système de réactivité.- Les tagged template literals permettent de simplifier l’API de templates HTML.
Étapes de construction de la réactivité
- La réactivité, qui définit la gestion de l’état et la mise à jour du DOM lors des changements d’état, constitue la base du framework.
Proxysert à détecter les changements d’état, etqueueMicrotaskpermet de gérer efficacement les mises à jour.
Étapes de rendu du DOM
- La fonction
htmlsert à construire l’arbre DOM et à le mettre à jour efficacement. - Les tagged template literals sont utilisés pour écrire des templates HTML, et
WeakMapsert à optimiser le parsing du HTML.
Combiner réactivité et rendu du DOM
createEffectpermet de mettre à jour le DOM en fonction de l’état.- L’implémentation permet de mettre automatiquement à jour le texte lorsque l’état change.
Étapes suivantes
- Il existe plusieurs façons d’améliorer le système de rendu du DOM.
- L’objectif est de parser les templates une seule fois et de configurer les bindings une seule fois afin de minimiser les mises à jour.
Avis de GN⁺
L’essentiel de cet article est de comprendre les concepts clés des frameworks JavaScript modernes et leur mise en œuvre, puis d’apprendre en vivant l’expérience de créer son propre framework. Cette approche peut offrir aux ingénieurs logiciels débutants une occasion intéressante et utile de comprendre le fonctionnement interne des frameworks et de l’appliquer concrètement.
1 commentaires
Avis Hacker News
Recommande les ressources suivantes pour acquérir une compréhension de base de ce sujet intéressant :
Explications sur certaines idées reçues à propos de React et sur son fonctionnement réel :
useMemon’empêche pas les rerenders ; c’estReact.memoqui joue ce rôle.Évaluation positive de Svelte et cas d’usage :
Divers points de vue sur les frameworks réactifs :
Questions et discussions sur la réactivité de React :
Question adressée aux personnes ayant une grande expérience des frameworks frontend :