Quedan 472 de 500 cuposTanda 1: quedan 472 de 500 cuposAnotarmeSumarme a la lista de espera
Volver al blog
AGÉNTICO

Cómo compilamos un design system a 3 frameworks

El mismo componente, en React, Vue 3 y Angular. No son tres librerías mantenidas a mano: es una definición y tres salidas.

Equipo Snapflow3 min de lectura · Publicado el Actualizado el
Un hexágono de vidrio que se divide en paneles idénticos
En esta página

Un equipo que trabaja en más de un framework termina manteniendo el mismo botón varias veces. No es que se copie mal. Es que cada copia envejece a su ritmo: alguien arregla el foco en React y esa corrección no llega a Angular, alguien ajusta el alto en Vue y el de Angular se queda como estaba. A los seis meses son tres botones parecidos, no el mismo.

El componente no es código

Lo primero que cambia es dónde vive la definición. Un componente en Snapflow no se define escribiendo su implementación, sino su contrato: qué variantes tiene, qué estados, qué tokens consume y qué garantiza en accesibilidad. Ese contrato es lo único que se edita.

De ahí salen las tres implementaciones. La API pública es la misma en todas: si en React es variant y size, en Vue son las mismas props y en Angular las mismas entradas.

// Button.tsx · generado por Snapflow · solo tokens
export function Button({variant = 'primary', size = 'md', ...props}) {
  return <button className={cx(btn[variant], btn[size])} {...props} />
}
// color/brand/600 · radius/md · space/3

Solo tokens y eso se verifica

La regla que hace posible todo lo demás es que ninguna implementación puede contener un valor suelto. Ni un hex, ni un px, ni una fuente arbitraria. Todo sale de los tokens y por eso cambiar el color de acción principal se propaga a los tres exports sin tocar código.

No es una convención que se pide por favor en una revisión. Es determinístico y corre en tu CI, sin API key y sin modelo de por medio:

$ snapflow check --ci
  ✓  38 componentes adheridos
  ✗  Login.tsx:42   color #2E6BE6 no está en tus tokens
  ✓  contraste AA en 40/40 estados
  1 hallazgo · salida JSON · exit 1
Un botón no dice azul. Dice color de acción principal.

El contrato de accesibilidad viaja con el export

Los estados de foco, los roles y las relaciones de contraste no se reimplementan en cada framework: forman parte del contrato, así que llegan iguales a los tres. Cuando una combinación de marca no pasa contraste, el sistema la rechaza en la personalización, no en producción.

Qué significa esto el día a día

Que un ajuste se hace una vez. Se corrige el contrato, se vuelven a obtener los exports y los tres repos reciben lo mismo. La diferencia no está en escribir menos código, sino en que deja de haber tres verdades que se van separando.

Preguntas frecuentes

¿Hay que mantener tres librerías de componentes?

No. Se mantiene una sola definición, el contrato de cada componente, y de ahí salen las tres implementaciones. Un ajuste se hace una vez y llega igual a React, Vue 3 y Angular.

¿La API es la misma en los tres frameworks?

Sí. Las mismas variantes, los mismos estados y los mismos tokens: lo que en React son props, en Vue son props y en Angular son entradas, con los mismos nombres.

¿Qué pasa si alguien escribe un color o un tamaño suelto?

La verificación lo detecta antes de que entre: cualquier valor que no venga de los tokens es un hallazgo y el pull request no pasa. Es determinista, corre en tu CI y no necesita un modelo de por medio.

¿Puedo usar solo uno de los tres frameworks?

Sí. Cada design system trae un framework a elegir, y los demás se agregan como complemento cuando los necesites. La definición es la misma; cambian las salidas que pides.

Pruébalo con tu marca

La forma más corta de ver una definición y tres salidas es con tus propios componentes. Snapflow está en acceso por lista de espera y liberamos cupos por tandas, en orden de llegada. Súmate a la lista de espera o mira el precio.

CompartirCompartir en LinkedIn
Equipo SnapflowQuienes construimos Snapflow

Snapflow no es el agente. Es el design system que tu agente llama para escribir interfaces consistentes. Pruébalo con el tuyo.

Sumarme a la lista de espera

Sigue leyendo

AGÉNTICO

Qué es Snapflow

Un design system agéntico ya construido, con tu marca en siete pasos, en React, Vue 3 y Angular, que tu agente usa por MCP. Qué entrega y cuánto cuesta.

Actualizado el · 6 min de lecturaLeer el artículo