<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Héctor Garduño Real</title>
    <description>The latest articles on DEV Community by Héctor Garduño Real (@hector_gr).</description>
    <link>https://dev.to/hector_gr</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F739370%2F8d246c40-2529-4bd3-a407-0f4720fc4aab.jpeg</url>
      <title>DEV Community: Héctor Garduño Real</title>
      <link>https://dev.to/hector_gr</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hector_gr"/>
    <language>en</language>
    <item>
      <title>Manual del Design System (parte 2)</title>
      <dc:creator>Héctor Garduño Real</dc:creator>
      <pubDate>Sun, 20 Mar 2022 17:07:49 +0000</pubDate>
      <link>https://dev.to/hector_gr/manual-del-design-system-parte-2-2m2h</link>
      <guid>https://dev.to/hector_gr/manual-del-design-system-parte-2-2m2h</guid>
      <description>&lt;p&gt;&lt;em&gt;Este es un resumen del libro "Design System Handbook" de InVision, que puedes &lt;a href="https://www.designbetter.co/design-systems-handbook" rel="noopener noreferrer"&gt;descargar aquí&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://dev.to/hector_gr/manual-del-design-system-parte-1-57lp"&gt;Manual del Design System (parte 1)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Construyendo tu Design System
&lt;/h2&gt;

&lt;p&gt;La creación de un Design System exitoso implica que deban aplicarse los principios de consistencia, auto-contenido, reusabilidad, accesibilidad y robustez.&lt;/p&gt;

&lt;h3&gt;
  
  
  Consistencia
&lt;/h3&gt;

&lt;p&gt;Los componentes deben construirse bajo un patrón predecible, por ello la primera y más importante de las tareas será definir las reglas del sistema, documentarlas y asegurarse que todos las sigan.&lt;/p&gt;

&lt;p&gt;También es recomendable crear una &lt;strong&gt;Guía de estilo de código&lt;/strong&gt; que defina las reglas gramaticales, de sintaxis, semánticas y de formato del código fuente. Ejemplos de esto podrían ser que las llaves deben ir en una nueva línea, o que se deben colocar las propiedades CSS en orden alfabético.&lt;/p&gt;

&lt;p&gt;Un buen punto de partida para crear la guía es basarse en el &lt;a href="https://github.com/bradfrost/frontend-guidelines-questionnaire" rel="noopener noreferrer"&gt;cuestionario de Brad Frost&lt;/a&gt; y recopilar ideas de reglas a implementar, las guías &lt;a href="https://github.com/airbnb/css" rel="noopener noreferrer"&gt;css &lt;/a&gt; y &lt;a href="https://github.com/airbnb/javascript" rel="noopener noreferrer"&gt;javascript&lt;/a&gt; de airbnb son buen ejemplo de implementación. También se puede definir como regla  la correcta escritura de código apoyándose de herramientas como &lt;a href="https://editorconfig.org" rel="noopener noreferrer"&gt;EditorConfig&lt;/a&gt;, linters como &lt;a href="http://csslint.net" rel="noopener noreferrer"&gt;CSSLint&lt;/a&gt;, &lt;a href="https://stylelint.io" rel="noopener noreferrer"&gt;StyleLint&lt;/a&gt;, &lt;a href="https://jshint.com" rel="noopener noreferrer"&gt;JSHint&lt;/a&gt;, &lt;a href="https://eslint.org" rel="noopener noreferrer"&gt;ESLint&lt;/a&gt; e inclusive para asegurar las buenas prácticas en git con &lt;a href="https://githooks.com" rel="noopener noreferrer"&gt;Git Hooks&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Auto-contenido
&lt;/h3&gt;

&lt;p&gt;El Design System debe ser tratado como una dependencia independiente y debe vivir en un repositorio de control de versiones, es decir, no debe formar parte del código fuente de la aplicación. Hacerlo así trae beneficios como el mantener distintas versiones, compartir código entre distintos equipos o aislar los componentes para permitir distintos casos de uso.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reusabilidad
&lt;/h3&gt;

&lt;p&gt;Los componentes construidos deben poderse reutilizar en distintos contextos y para lograrlo deben ser:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Modulares&lt;/strong&gt;: Deben ser auto-contenidos y no tener dependencias.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Acoplables&lt;/strong&gt;: Deben poderse combinar para crear nuevos patrones.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Genéricos&lt;/strong&gt;: Deben poderse usar un cualquier caso de uso.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexibles&lt;/strong&gt;: Deben poderse modificar y extender para trabajar en distintos contextos.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cuando dos diferentes piezas de código realizan la misma función se duplica la posibilidad de obtener errores, por eso el objetivo a seguir en nuestro Design System es usar el principio DRY (&lt;em&gt;Don't Repeat Yourself&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;Una recomendación para mejorar la reusabilidad en CSS es usar sistemas como &lt;a href="http://smacss.com" rel="noopener noreferrer"&gt;SMACSS&lt;/a&gt;, &lt;a href="https://github.com/stubbornella/oocss/wiki" rel="noopener noreferrer"&gt;OOCSS&lt;/a&gt;, &lt;a href="https://en.bem.info/methodology/" rel="noopener noreferrer"&gt;BEM&lt;/a&gt; o &lt;a href="https://styled-components.com" rel="noopener noreferrer"&gt;Styled Components&lt;/a&gt;. Otra recomendación en CSS es usar cortos &lt;em&gt;namespace prefixes&lt;/em&gt; para reducir el conflicto entre librerías o si se trabaja con código &lt;em&gt;legacy&lt;/em&gt; (obsoleto), por ejemplo '.[prefix]-[component]', es decir '.ds-btn'. &lt;/p&gt;

&lt;h3&gt;
  
  
  Accesibilidad
&lt;/h3&gt;

&lt;p&gt;Las aplicaciones construidas con el Design System deben poder usarse por la mayor cantidad de personas posible, sin importar cómo ingresen. Mejorar la accesibilidad no solo beneficia a ese 15% de la población, ya que por ejemplo también mejora el SEO.&lt;/p&gt;

&lt;p&gt;Un buen punto de partida para aprender es &lt;a href="https://www.a11yproject.com/posts/a11y-and-other-numeronyms/" rel="noopener noreferrer"&gt;a11y&lt;/a&gt;, &lt;a href="https://www.w3.org/standards/webdesign/accessibility" rel="noopener noreferrer"&gt;WAI&lt;/a&gt; y &lt;a href="https://webaim.org/intro/" rel="noopener noreferrer"&gt;WebAIM&lt;/a&gt;, o herramientas como &lt;a href="https://khan.github.io/tota11y/" rel="noopener noreferrer"&gt;Tota11y&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Para asegurar que todos en la organización desarrollen sitios, características y aplicaciones accesibles se deben hacer cumplir las siguientes buenas prácticas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Probar el contraste de color. 📖 &lt;a href="https://contrast-grid.eightshapes.com" rel="noopener noreferrer"&gt;Contrast Grid&lt;/a&gt;, &lt;a href="https://webaim.org/resources/contrastchecker/" rel="noopener noreferrer"&gt;WebAIM Contrast Checker&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Crear componentes para que el teclado y el lector de pantalla sean accesibles de forma predeterminada. 📖 &lt;a href="https://ebay.gitbook.io/mindpatterns/" rel="noopener noreferrer"&gt;eBay MIND Patterns&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Incluir en la documentación estándares y guías apegadas a a11y, como el uso de tamaños de texto más grandes y legibles, etiquetas asociadas a campos de formularios o asociar textos alternativos a las imágenes mediante el atributo "alt". 📖 &lt;a href="https://www.lightningdesignsystem.com/accessibility/overview/" rel="noopener noreferrer"&gt;Salesforce Lightning DS&lt;/a&gt;, &lt;a href="https://polaris.shopify.com/foundations/accessibility" rel="noopener noreferrer"&gt;Shopify Polaris DS&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Robustez
&lt;/h3&gt;

&lt;p&gt;Debe funcionar correctamente y con mínimos errores sin importar el producto o plataforma en donde es aplicado, por lo que debe haber una sólida base de pruebas detrás del Design System. La recomendación es probar el Design System en lugar de probar una complicada interfaz de usuario, y para ello se deben mantener los &lt;em&gt;tests&lt;/em&gt; actualizados para páginas, aplicaciones y características, ya que los &lt;em&gt;tests&lt;/em&gt; quedan desactualizados rápidamente.&lt;/p&gt;

&lt;p&gt;Hay cuatro tipos de &lt;em&gt;tests&lt;/em&gt; usados:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Unit testing&lt;/strong&gt;: Verifican que las pequeñas unidades de código (generalmente funciones de JavaScript individuales) se comportan como se esperaba. 📖 &lt;a href="https://mochajs.org" rel="noopener noreferrer"&gt;Mocha&lt;/a&gt;, &lt;a href="https://jasmine.github.io" rel="noopener noreferrer"&gt;Jasmine&lt;/a&gt;, &lt;a href="https://jestjs.io" rel="noopener noreferrer"&gt;Jest&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Functional testing&lt;/strong&gt;: Verifican que los ejemplos de código o características (&lt;em&gt;fixtures&lt;/em&gt;) se ejecutan en un navegador virtual, luego se prueban realizando acciones de usuario simuladas y verificando el nuevo estado del navegador para obtener el resultado esperado. 📖 &lt;a href="https://nightwatchjs.org" rel="noopener noreferrer"&gt;Nightwatch&lt;/a&gt;, &lt;a href="http://www.protractortest.org" rel="noopener noreferrer"&gt;Protractor&lt;/a&gt;, &lt;a href="https://www.casperjs.org" rel="noopener noreferrer"&gt;Casper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visual regression testing&lt;/strong&gt;: Verifican cambios visuales no deseados en los estilos de los componentes. El &lt;em&gt;framework&lt;/em&gt; toma capturas de pantalla de las características (&lt;em&gt;fixtures&lt;/em&gt;) antes y después de los cambios, luego los compara usando un algoritmo para detectar diferencias visuales. 📖 &lt;a href="https://github.com/bbc/wraith" rel="noopener noreferrer"&gt;Wraith&lt;/a&gt;, &lt;a href="https://yandex.com/dev/gemini/" rel="noopener noreferrer"&gt;Gemini&lt;/a&gt;, &lt;a href="https://garris.github.io/BackstopJS/" rel="noopener noreferrer"&gt;BackstopJS&lt;/a&gt;, &lt;a href="https://applitools.com" rel="noopener noreferrer"&gt;Applitools&lt;/a&gt;, &lt;a href="https://percy.io" rel="noopener noreferrer"&gt;Percy.io&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated accessibility testing&lt;/strong&gt;: Se realizan pruebas automatizasas aprovechando las herramientas de accesibilidad. 📖 &lt;a href="https://github.com/paypal/AATT" rel="noopener noreferrer"&gt;AATT&lt;/a&gt;, &lt;a href="https://github.com/addyosmani/a11y" rel="noopener noreferrer"&gt;a11y&lt;/a&gt;, &lt;a href="https://www.deque.com/axe/" rel="noopener noreferrer"&gt;aXe&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Desafíos comunes
&lt;/h2&gt;

&lt;p&gt;Ningún sistema es perfecto, podrás tomar decisiones de las que luego te arrepentirás sin importar el tiempo dedicado. Sin embargo, se pueden anticipar los problemas a medida que crece el sistema, evitando o mitigando su efecto.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mantenimiento de la documentación
&lt;/h3&gt;

&lt;p&gt;Cuando la documentación y el código comparten ubicación, es más probable que se recuerde actualizar la documentación cuando se cambia un componente. Una recomendación es crear un &lt;a href="https://githooks.com" rel="noopener noreferrer"&gt;pre-commit hook&lt;/a&gt; al repositorio del Design System para advertir si el código no contiene documentación actualizada.&lt;/p&gt;

&lt;p&gt;Se puede comenzar por documentar el Design System utilizando archivos simples y legibles por humanos escritos en &lt;a href="https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax" rel="noopener noreferrer"&gt;Markdown&lt;/a&gt;, ubicados junto con cada componente, pues es posible que no se necesite un sitio web llamativo, y si se decide crear un sitio web de documentación con todas las funciones se puede usar una &lt;a href="https://github.com/davidhund/styleguide-generators" rel="noopener noreferrer"&gt;herramienta de auto-generación de documentación&lt;/a&gt; para reducir el tiempo dedicado a crearlo y mantenerlo como por ejemplo &lt;a href="https://thepaciellogroup.github.io/cupper/" rel="noopener noreferrer"&gt;Cupper&lt;/a&gt;. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Si buscas mejorar el performance del CSS puedes usar herramientas como &lt;a href="https://github.com/uncss/uncss" rel="noopener noreferrer"&gt;UnCSS&lt;/a&gt; o &lt;a href="https://github.com/addyosmani/critical-path-css-tools" rel="noopener noreferrer"&gt;Critical path CSS&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;La forma incorrecta: Duplicación&lt;/strong&gt;&lt;br&gt;
Al refactorizar componentes se suele seguir escenarios como estos, por ejemplo para que el componente "Tab" sea totalmente accesible se crea un nuevo componente llamado "Tabs2" y se descarta "Tabs" con la esperanza de que los equipos asuman el trabajo de actualizar su código. Pero sin una guía clara sobre cómo, por qué y un cronograma que indique cuándo actualizar, la mayoría no lo hará y el mantenimiento del código se hará más y más complejo.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;La forma correcta: Versionamiento&lt;/strong&gt;&lt;br&gt;
Los cambios importantes son más fáciles de administrar si se almacena el código del Desig System en el propio repositorio del código fuente. Se puede usar el &lt;a href="https://semver.org" rel="noopener noreferrer"&gt;SemVer&lt;/a&gt; para definir el versionamiento.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Poblemas de desempeño
&lt;/h3&gt;

&lt;p&gt;Más de la mitad de los visitantes móviles abandonarán las páginas que tardan más de 3 segundos en cargarse, sin embargo, la mayoría de los sitios móviles tardan más de 10 segundos en cargarse.&lt;/p&gt;

&lt;p&gt;La mejor forma de evitar problemas de desempeño es adoptando un enfoque &lt;em&gt;mobile first&lt;/em&gt; y construir teniendo en cuenta la modularidad, después se debe probar temprano y con frecuencia en dispositivos reales, con hardware real y una conexión de red real para así comprender las experiencias de los usuarios reales.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;La sistematización del código beneficia a todos en la organización, los desarrolladores se mueven más rápido, los diseñadores no tienen que reinventar la rueda y, en última instancia, los usuarios tienen una mejor experiencia. Un Design System flexible, mantenible, estable, escalable y exitoso comienza con una base sólida que va más allá de los marcos o las herramientas.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;&lt;a href="https://dev.to/hector_gr/"&gt;Manual del Design System (parte 3)&lt;/a&gt; (Próximamente)&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>spanish</category>
      <category>ux</category>
      <category>design</category>
    </item>
    <item>
      <title>Manual del Design System (parte 1)</title>
      <dc:creator>Héctor Garduño Real</dc:creator>
      <pubDate>Fri, 11 Feb 2022 00:41:44 +0000</pubDate>
      <link>https://dev.to/hector_gr/manual-del-design-system-parte-1-57lp</link>
      <guid>https://dev.to/hector_gr/manual-del-design-system-parte-1-57lp</guid>
      <description>&lt;p&gt;&lt;em&gt;Este es un resumen del libro "Design System Handbook" de InVision, que puedes &lt;a href="https://www.designbetter.co/design-systems-handbook" rel="noopener noreferrer"&gt;descargar aquí&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Los Sistemas de Diseño
&lt;/h2&gt;

&lt;p&gt;Un &lt;strong&gt;Design System&lt;/strong&gt; es una colección de componentes reusables guiado por estándares, que pueden ser empleados en conjunto para construir cualquier cantidad de aplicaciones.&lt;/p&gt;

&lt;p&gt;Los estándares abarcan tanto al diseño como al desarrollo, por ejemplo usando convención de nombres, requerimientos de accesibilidad o estructura de archivos; también se estandarizan aspectos como el lenguaje visual, el cual define el propósito del estilo de los colores, formas, iconos o espacios. Todo ello con el fin de crear consistencia, prevenir errores y apegarse al _branding _de la marca y crear una &lt;strong&gt;Experiencia de Usuario&lt;/strong&gt; (UX) consistente.&lt;/p&gt;

&lt;p&gt;Los componentes son porciones de código reusables que funcionan como bloques de construcción de las interfaces de aplicación. Cuanto más reusables sean los componentes menor será necesario su mantenimiento y será más facil será escalar la aplicación.&lt;/p&gt;

&lt;p&gt;Algunos de los beneficios de contar con un Design System son:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reducir la deuda de diseño, lo cual acelera el crecimiento de la aplicación.&lt;/li&gt;
&lt;li&gt;Mejorar la consistencia de diseño, haciendo más predecible y fácil de usar una aplicación. Esto permite dedicar menos tiempo al diseño y centrarse más en la UX.&lt;/li&gt;
&lt;li&gt;Facilita la construcción y experimentación de un sinfín de prototipos y variantes ya que se requiere una menor cantidad de líneas de código.&lt;/li&gt;
&lt;li&gt;Se mejora la usabilidad, pues al tener una librería de componentes las interfaces e interacciones entre elementos se mantienen unificados.&lt;/li&gt;
&lt;li&gt;Se mejora la accesibilidad tanto básicas como las definidas por las leyes del país. &lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Creación de un sistema de diseño
&lt;/h2&gt;

&lt;p&gt;La creación de un sistema de diseño efectivo involucra &lt;em&gt;disciplinas&lt;/em&gt; como &lt;strong&gt;Diseñadores&lt;/strong&gt; (definen los elementos visuales), &lt;strong&gt;Desarrolladores front-end&lt;/strong&gt; (crean el código), &lt;strong&gt;Expertos de accesibilidad&lt;/strong&gt; (aseguran cumplimiento de estándares como &lt;a href="https://www.w3.org/WAI/standards-guidelines/wcag/" rel="noopener noreferrer"&gt;WCAG&lt;/a&gt;), &lt;strong&gt;Estrategas de contenido&lt;/strong&gt; (definen el tono y voz del sistema), &lt;strong&gt;Investigadores&lt;/strong&gt; (ayudan a entender necesidades del cliente), &lt;strong&gt;Expertos de desempeño&lt;/strong&gt; (aseguran el óptimo funcionamiento del sistema), &lt;strong&gt;Gerente de producto&lt;/strong&gt; (asegura que el sistema se apegue a las necesidades del cliente) y &lt;strong&gt;Líderes&lt;/strong&gt; (apoyan y alinean la visión de la empresa).&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Definir el modelo
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffg7tflt3yrzn4uczzcrs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffg7tflt3yrzn4uczzcrs.png" alt="Modelos para la creación de un sistema de diseño" width="800" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para comenzar a crear el sistema de diseño conviene definir el modelo a usar con base a los objetivos. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Si se quiere avanzar rápido el &lt;strong&gt;Modelo solitario&lt;/strong&gt; es el adecuado inicialmente, sin embargo después se tiene que trabajar para que los demás equipos adopten el sistema.&lt;/li&gt;
&lt;li&gt;Si se quiere avanzar rápido pero animando la participación desde el inicio, el &lt;strong&gt;Modelo centralizado&lt;/strong&gt; es el mejor.&lt;/li&gt;
&lt;li&gt;Sin embargo para tener una mayor participación y mejor adopción el &lt;strong&gt;Modelo federado&lt;/strong&gt; es la mejor opción ya que involucra a distintos equipos desde el inicio.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;En este proceso será necesario hablar con contribuidores potenciales y clientes que  ayuden a descubrir los casos de uso que el Design System debe satisfacer. Además conviene obtener las ideas o preocupaciones de ejecutivos, líderes y gerentes para convertirlas en objetivos y métricas, ejemplo de ello puede ser la entrega rápida de características, mejor desempeño o mejoras en la calidad de la interfaz. &lt;/p&gt;

&lt;h3&gt;
  
  
  2. Crear el inventario
&lt;/h3&gt;

&lt;p&gt;Una vez reunida la información será necesario crear el inventario de los atributos visuales (colores, tipografía, espaciado, etc.) e inventario de los elementos de interfaz (botones, cards, mensajes modales, etc.).&lt;/p&gt;

&lt;p&gt;Es una buena práctica realizar una auditoría visual de las hojas de estilo actuales para conocer la cantidad de reglas, selectores, declaraciones y propiedades usadas. La herramienta &lt;a href="https://cssstats.com" rel="noopener noreferrer"&gt;CSS Stats&lt;/a&gt; puede ayudar a ello.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Crear el lenguaje visual de diseño
&lt;/h3&gt;

&lt;p&gt;Para definir un lenguaje visual se debe estandarizar mínimamente colores, tipografías (como tamaño o tipo de letra), espaciado (como márgenes, posicionamiento o bordes) e imágenes (iconos o ilustraciones), y dependiendo las necesidades también se puede estandarizar la forma visual (profundidad, elevación, sombras, esquinas, textura, etc.), el movimiento o el sonido a usar, con el fin de unificar la experiencia de usuario.&lt;/p&gt;

&lt;p&gt;La &lt;strong&gt;Interfaz de Usuario&lt;/strong&gt; (UI) usa el &lt;strong&gt;color&lt;/strong&gt; para dar feedback, transmitir información gráfica o mostrar jerarquía. Algunos consejos de uso del color son:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Incluir 1-3 colores que representen la marca de la empresa.&lt;/li&gt;
&lt;li&gt;Usar el mismo color para links y botones. &lt;/li&gt;
&lt;li&gt;Usar colores neutrales (usualmente grises) para fondos y bordes.&lt;/li&gt;
&lt;li&gt;Contar con colores para estados, por ejemplo de error, éxito, o advertencia.&lt;/li&gt;
&lt;li&gt;Mantener una paleta de colores simple (que incluya tonos y sombras) para evitar inconsistencias de diseño o usos incorrectos.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Respecto a la &lt;strong&gt;tipografía&lt;/strong&gt;, se debe seleccionar teniendo en mente la legibilidad y manteniendo las fuentes comunes (como Helvetica, Times New Roman o Verdana). La cantidad de tipografías también es relevante pues impacta en el rendimiento, por ello la mayoría de Design Systems emplea 2, una para los encabezados y otra para el cuerpo. Algunos consejos de uso de tipografías son:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Usar las variantes "light" o "thin" solo en tamaños de texto grandes.&lt;/li&gt;
&lt;li&gt;Asegurarse de tener una correcta legibilidad en diferentes tamaños de pantalla.&lt;/li&gt;
&lt;li&gt;Definir el "line-height" de cada tipografía para mejorar la legibilidad, 1.5 es el recomendado.&lt;/li&gt;
&lt;li&gt;Usar una escala de espaciado consistente para promover la mantenibilidad y que la tipografía se ajuste y alineé correctamente. Una escala base 4 es recomendada (por ejemplo en iconos usan esta base, por ello los tamaños son 16, 24, 32, etc.; o el navegador web tiene el tamaño de letra por defecto en 16). Para espaciado horizontal una base 8 funciona bien.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Para las &lt;strong&gt;imágenes&lt;/strong&gt; algunos consejos son:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;El formato vectorial (svg) funciona mejor al escalar y en diseño responsivo.&lt;/li&gt;
&lt;li&gt;Definir pautas claras para usar iconografía e ilustraciones, por ejemplo si los iconos emplean múltiples colores, si son sólidos o si son minimalistas.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;También deben definirse las pautas para estandarizar la &lt;strong&gt;forma visual&lt;/strong&gt;, es decir, color de fondo, gradientes, texturas, sombras, elevaciones, esquinas redondeadas y bordes. De igual manera se deben definir las pautas de &lt;strong&gt;movimiento y sonido&lt;/strong&gt; ya que tienen un alto impacto en la experiencia.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Crear una librería de UI
&lt;/h3&gt;

&lt;p&gt;Una librería de interfaz de usuario se conforma de piezas tal como botones, listas, tarjetas, formularios, etc. La mayoría de Design Systems en su definición incluye el nombre del componente, descripción, ejemplo, código fuente e incluso histórico de versiones. &lt;/p&gt;

&lt;p&gt;Se puede iniciar simplemente creando un inventario del producto en producción tomando screenshots de todos los elementos, para posteriormente categorizarlos, combinarlos y dividirlos en piezas más pequeñas, ya sea piezas básicas (&lt;strong&gt;átomos&lt;/strong&gt;, por ejemplo botones o iconos), piezas compuestas (&lt;strong&gt;moléculas&lt;/strong&gt; o componentes, por ejemplo formularios de búsqueda), conjunto de piezas compuestas (&lt;strong&gt;organismos&lt;/strong&gt; o regiones, por ejemplo un sidebar de navegación) y  disposición de conjuntos (&lt;strong&gt;layouts&lt;/strong&gt;, por ejemplo un header seguido de un sidebar, un main content y un footer).&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Crear un Design System no solo ayuda al equipo a generar una experiencia de usuario consistente, también permite crear puentes entre diseñadores y desarrolladores, se mejora la comunicación y se construyen interfaces de usuario más manejables, escalables y robustas.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;&lt;a href="https://dev.to/hector_gr/manual-del-design-system-parte-2-2m2h"&gt;Manual del Design System (parte 2)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>spanish</category>
      <category>ux</category>
      <category>design</category>
    </item>
  </channel>
</rss>
