Aprende cómo funcionan los frameworks modernos de JavaScript construyendo uno tú mismo
(nolanlawson.com)Entender cómo funcionan los frameworks modernos de JavaScript
- Crear tu propio framework de JavaScript ayuda al aprendizaje.
- "Frameworks modernos de JavaScript" se refiere a los frameworks posteriores a React.
- Estos frameworks se inspiraron en React, pero evolucionaron en direcciones bastante similares.
Características de los frameworks modernos
- Usan reactividad para actualizar el DOM.
- Usan clonación de plantillas para renderizar el DOM.
- Usan APIs web modernas como
<template>yProxy.
Reactividad
- A menudo se menciona que React no es reactivo.
- Los frameworks modernos priorizan el rendimiento usando un modelo reactivo basado en push.
- Implementan actualizaciones del DOM cada vez que cambia el estado mediante
Proxy.
Clonación de árboles del DOM
- Usar la etiqueta
<template>para analizar el HTML una sola vez y luego clonar todo rápidamente es una técnica eficiente. - Este método se usa en varios frameworks de JavaScript.
APIs modernas de JavaScript
<template>yProxyson APIs que ayudan a construir sistemas de reactividad.- Las tagged template literals se usan para crear una API de plantillas HTML de forma sencilla.
Etapas para construir la reactividad
- La reactividad, que define la gestión del estado y la actualización del DOM cuando el estado cambia, es la base del framework.
- Se usa
Proxypara detectar cambios de estado yqueueMicrotaskpara gestionar las actualizaciones de forma eficiente.
Etapa de renderizado del DOM
- Se usa la función
htmlpara construir el árbol del DOM y actualizarlo eficientemente. - Se escriben plantillas HTML con tagged template literals y se optimiza el análisis del HTML con
WeakMap.
Combinar reactividad y renderizado del DOM
- Se usa
createEffectpara actualizar el DOM según el estado. - Se implementa para que el texto se actualice automáticamente cuando cambia el estado.
Siguientes pasos
- Hay varias formas de mejorar el sistema de renderizado del DOM.
- El objetivo es analizar la plantilla solo una vez y configurar los bindings una sola vez para minimizar las actualizaciones.
Opinión de GN⁺
Lo más importante de este artículo es entender los conceptos clave y la forma de implementación de los frameworks modernos de JavaScript, y aprender mediante la experiencia de crear realmente tu propio framework. Este enfoque puede ofrecer a ingenieros de software principiantes una oportunidad interesante y útil para comprender el funcionamiento interno de los frameworks y aplicarlo en la práctica.
1 comentarios
Comentarios en Hacker News
Recomienda los siguientes materiales para obtener una comprensión básica del tema de interés:
Aclaraciones sobre malentendidos de React y cómo funciona realmente:
useMemono evita el rerenderizado;React.memoes lo que cumple esa función.Evaluación positiva de Svelte y casos de uso:
Distintas perspectivas sobre los frameworks reactivos:
Preguntas y discusión sobre la reactividad de React:
Pregunta planteada a personas con amplia experiencia en frameworks frontend: