Mador: reactividad DOM con 80 lineas de Proxy sin framework
Un micro-runtime ES module de 855 bytes que enlaza estado con DOM existente mediante proxies, ideal para scripts sueltos o legacy.
Mador es un runtime reactivo de DOM creado por marsbos que busca cubrir un nicho concreto: añadir reactividad a páginas HTML ya existentes sin cargar un framework completo. El proyecto,公開ado en GitHub a principios de septiembre, se define como una herramienta para quien necesita gestionar estado y bindings pero no quiere comprometerse con la complejidad de React, Vue o Svelte.
El funcionamiento se basa en el API de Proxy nativo de JavaScript. En lugar de usar DOM virtual o plantillas, Mador rastrea directamente qué propiedades del estado lee cada binding. Cuando ese estado cambia, el runtime recalcula únicamente las dependencias afectadas. La sintaxis es minimalista: se importa el módulo ES (disponible en npm o vía CDN), se crea un par de funciones read y write pasándole el objeto de estado inicial, y se definen las relaciones entre selectores CSS, funciones de actualización del DOM y selecciones de estado. No hay ciclo de vida de componentes que gestionar; las bindings se asocian con los elementos del DOM y se eliminan automáticamente cuando estos desaparecen de la página.
El size es la característica técnica más relevante. El runtime completo ocupa alrededor de 855 bytes una vez minificado, lo que lo hace apropiado para inyección directa en scripts inline o para aplicaciones server-side rendering donde cada kilobyte cuenta. Al ser un módulo ES estándar, no requiere build steps ni polyfills, y opera sin globals. La licencia es MIT, así que su integración en proyectos comerciales o de código abierto es directa.
Este tipo de herramientas compite con utilidades como Alpine.js o htmx, aunque Mador se posiciona aún más abajo en la abstracción: no incluye directivas de control de flujo ni gestión de eventos complejos por defecto. Es puro estado y binding. Para arquitectos de frontend, su valor no está en reemplazar un SPA monolítica, sino en permitir that equipos de backend o equipos de contenuti añadan interactividad a páginas estáticas sin invertir en una pila de tooling completa. La conversación en Hacker News sugiere interés por su simplicidad radical, aunque también dudas sobre su escalabilidad en aplicaciones con mucha lógica de negocio, campos donde un framework maduro sigue siendo más eficiente en términos de depuración y extensibilidad.