Diferencia EmviUI y shadcn/ui: propiedad y mantenimiento
La diferencia entre EmviUI y shadcn/ui está en el recurso del que se responsabiliza tu equipo: EmviUI aporta un punto de partida de diseño en Figma; shadcn/ui, código de componentes adaptable. Compara propiedad, personalización, evidencia de accesibilidad y mantenimiento en
La diferencia entre EmviUI y shadcn/ui está en el recurso del que se responsabiliza tu equipo: EmviUI aporta un punto de partida de diseño en Figma; shadcn/ui, código de componentes adaptable. Compara propiedad, personalización, evidencia de accesibilidad y mantenimiento en esas capas. Utiliza uno o ambos según el entregable pendiente y las personas que puedan conservarlo.
La diferencia entre EmviUI y shadcn/ui está en el recurso del que se responsabiliza tu equipo: EmviUI aporta un punto de partida de diseño en Figma; shadcn/ui, código de componentes adaptable. Compara propiedad, personalización, evidencia de accesibilidad y mantenimiento en esas capas. Utiliza uno o ambos según el entregable pendiente y las personas que puedan conservarlo.
Compara primero los entregables
La página de EmviUI presenta un UI kit editable y un sistema de diseño para Figma. La introducción de shadcn/ui describe componentes distribuidos como código abierto a modificaciones del equipo. Por tanto, conviene empezar por los recursos de diseño y el código de la aplicación. Ninguna etiqueta demuestra que el flujo concreto de tu producto esté resuelto.

Prepara un inventario de dos columnas antes de evaluar la apariencia. En diseño, anota el archivo compartido de Figma, los tratamientos aprobados, los ejemplos y las notas de interacción. En implementación, apunta los archivos de componentes, las dependencias, el estado de aplicación y las verificaciones. Cada hueco se convierte en trabajo asignado, en vez de quedar oculto detrás de un nombre conocido.
Imaginemos un equipo que quiere unificar un panel de ayuda de la cuenta y un diálogo de confirmación. El ejercicio propuesto sigue un cambio visual desde su aprobación hasta una versión mantenida. Es un método para decidir, no una medición de velocidad, una clasificación de productos ni una afirmación de que alguno haya superado las pruebas de ese equipo.
Consulta la guía sobre el alcance de un UI kit y un sistema de diseño si también necesitas definir cuánta política compartida vas a mantener. Aquí la decisión es más concreta: quién modifica cada recurso, quién comprueba el resultado y quién conserva ese cambio en el futuro. Acláralo antes de contar pantallas disponibles.
Utiliza el panel de ayuda como ejemplo de límites, no como atajo de compra. Si ya existe código de componentes aprobado, quizá falte una especificación visual más clara. Si la referencia de Figma está resuelta, otro kit visual puede aportar menos que una implementación mantenida. Describe el recurso pendiente en una frase antes de abrir otra galería.
Asigna responsables a archivos y decisiones
Asigna una persona a la especificación visual y otra a la implementación de cada componente. En un equipo pequeño pueden ser la misma. Lo importante es que un cambio aprobado en Figma no se convierta silenciosamente en un cambio publicado, y que una edición local del código no redefina por sí sola la referencia de diseño.

Separa tres preguntas sobre propiedad: ¿podemos editar el recurso?, ¿podemos utilizarlo o redistribuirlo en este contexto?, ¿quién mantendrá nuestra adaptación? Un archivo editable solo responde a la primera. Consulta las condiciones aplicables antes de compartir recursos fuente con clientes u otros equipos. Este artículo no afirma que la capacidad de edición transfiera derechos de propiedad intelectual.
En el panel de ayuda propuesto, diseño se responsabiliza de la jerarquía, el espaciado y la apariencia desplegada. Desarrollo controla el estado abierto y su integración con la página. Producto se ocupa de la explicación destinada al cliente. Nombra además a quien revisa el conjunto. Este pequeño reparto evita que una actualización quede sin comprobar al pasar de una disciplina a otra.
Distingue la referencia original de la versión adaptada. Anota la revisión del archivo de diseño, la ubicación del componente y el motivo de los cambios locales. Si alguien que se incorpora no puede saber si una diferencia es intencional, falta documentación útil. Mantén el registro lo bastante breve para actualizarlo con cada cambio importante, sin convertirlo en otro proyecto paralelo.
Incluye un relevo normal en el ejercicio de propiedad. Pide a otra persona que cambie el encabezado usando solo la referencia registrada y la ubicación del archivo. Debe explicar qué otras pantallas podrían verse afectadas y quién aprobaría el resultado. Las preguntas sin respuesta revelan responsabilidades pendientes mientras el ejemplo todavía es pequeño.
Personaliza mediante un mapa explícito
Personaliza asignando funciones antes de igualar píxeles. Pon nombre a la superficie del panel, el texto del encabezado, el borde discreto y la acción principal. Después identifica qué decisiones de Figma y qué estilos de la aplicación representan esas funciones. Este mapa propuesto facilita la revisión sin dar por hecha una sincronización automática entre EmviUI y shadcn/ui.

La documentación de temas de shadcn/ui recomienda variables CSS y describe parejas semánticas de superficie y contenido. Utiliza ese modelo documentado al adaptar el código. Decide cómo se corresponden tus funciones visuales con esos tokens y registra las excepciones. Compartir vocabulario de Tailwind no demuestra que los valores, la estructura o el comportamiento coincidan.
Prueba un cambio acotado: destacar más el título de ayuda y mantener un tratamiento tranquilo para el cuerpo. Actualiza primero el ejemplo. Después adapta la función correspondiente en código e inspecciona otros consumidores. Si el mismo token transforma inesperadamente una acción destructiva, delimita mejor el mapa o crea una función local adecuada antes de aprobar.
Distingue cambios visuales y estructurales durante la revisión. Modificar un radio o un borde es distinto de sustituir el activador, eliminar una descripción o reordenar controles que reciben foco. La documentación actual de Dialog en shadcn/ui muestra partes con nombre y distintas familias de primitivas. Consulta la variante que realmente adoptes y comprueba la compatibilidad antes de seguir instrucciones de otra base.
Compara cada producto mediante una pregunta que pueda responder. Evalúa el kit visual a través del trabajo editable de diseño, y el punto de partida de código mediante una implementación en ejecución. Documenta el puente como trabajo de tu equipo. Así una captura pulida no recibe crédito por una conducta que aún no se ha implementado.
Inspecciona el ejemplo visual de acordeón
La imagen real de EmviUI situada debajo muestra varios tratamientos de acordeón, con contenido plegado y desplegado. Sirve para discutir densidad, separadores y extensión de la ayuda. Es un ejemplo de diseño en Figma; no es una captura de shadcn/ui ni una prueba de interacción por teclado.

El catálogo de componentes de EmviUI incluye recursos de acordeón y modal junto con elementos de base. En la revisión propuesta, elige un tratamiento y sustituye el contenido de muestra por una pregunta de ayuda verosímil. Especifica si puede quedar abierta una sección o varias. Esa regla debe aparecer en la especificación aunque las variantes visuales parezcan explicarse solas.
Las prácticas WAI-ARIA para acordeones describen los controles del encabezado, el estado expandido y la activación por teclado. Úsalas como referencia de conducta al implementar el tratamiento elegido. La flecha del diseño comunica una dirección visual; no proporciona el nombre de un botón, un estado expuesto ni la asociación con el panel que controla.
Revisa contenido largo en ambos idiomas. Un título de dos líneas y un párrafo de ayuda deben mantener claro el límite del control. Distingue los enlaces de apoyo del activador de la sección. Si el ejemplo no permite expresar estos casos con comodidad, adáptalo antes de repetir el patrón por todo el producto. Son tareas de aceptación propuestas, no una certificación del recurso mostrado.
Verifica la conducta de la interfaz real
Evalúa la accesibilidad donde existe la conducta. Una revisión visual puede detectar que falta una indicación de foco o que una pareja de colores resulta débil. Una revisión en ejecución permite comprobar cómo se abre el panel, cómo se reconoce su estado y cómo se vuelve de un diálogo. Conserva ambas evidencias sin asignar a cada producto una etiqueta universal.

Para una confirmación modal, el patrón de diálogo modal de WAI-ARIA describe la entrada del foco, una secuencia de tabulación contenida, el cierre con Escape y el regreso habitual al activador. Documenta las excepciones aplicables. Guarda una breve demostración con teclado del ejemplo implementado e incluye qué ocurre si el activador original ya no está disponible.
Comprueba las parejas visuales después de personalizarlas. La guía WCAG sobre contraste mínimo del texto explica umbrales y excepciones; el nombre de una paleta o una captura atractiva no bastan. Mide la combinación real de texto y fondo utilizada en la interfaz entregada. Incluye las ayudas y los textos de botones, además del título principal.
Si guardar una preferencia genera un mensaje sin mover el foco, consulta la guía WCAG sobre mensajes de estado para su exposición programática. Después prueba el anuncio implementado dentro de su contexto. Redacción, momento y semántica deben funcionar juntos. La guía de UI kits para React con formularios, diálogos y estado propone otro escenario de aceptación para ampliar la revisión.
Redacta los hallazgos como observaciones: «El encabezado comunica que está desplegado» o «El foco desaparece al cerrar el diálogo». Relaciona el fallo con una integración o modificación concreta. Es más útil que una puntuación de proveedor y evita suponer que el comportamiento inicial del componente se conserva en cualquier composición personalizada.
Planifica el mantenimiento antes de adoptar
Planifica el siguiente cambio mientras el ejemplo sigue siendo pequeño. Relaciona una revisión de diseño con el commit correspondiente y anota qué archivos difieren del origen adoptado. Una adaptación local resulta más fácil de conservar cuando su motivo está visible y el equipo puede reproducir la conducta que pretendía mejorar.

La documentación de la CLI de shadcn distingue la incorporación de componentes y las opciones para sobrescribir archivos. Trata la sobrescritura de código adaptado como un cambio revisable. Conserva una versión recuperable, inspecciona las diferencias y repite la comprobación del ejemplo antes de integrar. Recibir el código permite personalizarlo, pero no elimina las dependencias ni la evaluación de futuras modificaciones.
Simula una actualización habitual que cambie la estructura del activador del panel. Compara el componente entrante con la adaptación local. Identifica qué decisiones siguen siendo necesarias, cuáles conviene retirar y cuáles requieren otra verificación. Pide a la persona responsable que lo explique durante la revisión, en lugar de conservar automáticamente todas las ediciones históricas.
Aplica el mismo criterio a una nueva versión del kit de diseño. Comprueba que el tratamiento aprobado sigue respondiendo a la dirección del producto antes de reemplazar instancias en un archivo compartido. Mantén una pequeña página con estados modificados, además de los valores iniciales. Registra las diferencias intencionales: forzar una igualdad accidental puede añadir más trabajo que conservar una excepción explicada.
La guía de arquitectura de bibliotecas de componentes ayuda a decidir dónde guardar el patrón resultante. Un flujo de ayuda propio del producto puede permanecer junto a su función, mientras el tratamiento reutilizable del activador vive entre los componentes compartidos. No conviertas cada decisión local en una obligación global de la API solo porque empezó dentro de un kit.
Elige una combinación sostenible
Elige EmviUI cuando falte un punto de partida visual editable en Figma y el equipo vaya a implementar y comprobar la conducta por separado. Elige shadcn/ui cuando necesites código de componentes adaptable y puedas mantenerlo. Combina ambos cuando la exploración visual y la responsabilidad del código formen parte explícita del trabajo. Son recomendaciones condicionales, no ganadores universales.
Guarda una ficha comparativa con cuatro filas: entregable, límite de personalización, evidencia de accesibilidad y responsable de mantenimiento. Para cada una, escribe la evidencia actual, el trabajo pendiente y un nombre. No sumes pruebas distintas en una puntuación: un modal diseñado y otro comprobado en ejecución responden a preguntas diferentes aunque se parezcan.
Antes de ampliar la adopción, exige un ejemplo visual aprobado, una implementación funcional, una lista de diferencias deliberadas y una revisión de cambios repetible. Si nadie puede asumir las actualizaciones de código, aplaza esa elección. Si falta acuerdo sobre la referencia visual, resuelve primero esa decisión menor. Una combinación sostenible permite entender y financiar el trabajo restante.
| Decisión | Trabajo visual con EmviUI | Implementación con shadcn/ui |
|---|---|---|
| Entregable | Referencia adaptada en Figma | Código de componentes adaptado |
| Personalización | Funciones y estados visuales aprobados | Estilos, estructura e integración revisados |
| Evidencia de accesibilidad | Especificaciones visuales y carencias identificadas | Conducta observada en la aplicación compuesta |
| Mantenimiento | Responsable de diseño y registro de revisiones | Responsable de código y comprobaciones de cambios |
Pablo Mayoral
Diseñador UX/UI y Web con más de 10 años de experiencia. Creador de EmviUI (sistema de diseño en Figma con más de 10k componentes), UImand y Vitamin Bootstrap. Diseñando actualmente productos digitales en CQMRewards.