Construir un Sistema de Diseño con React y Tailwind CSS

Rate this content
Bookmark

Tailwind CSS, con su enfoque de utilidad primero, es conocido por acelerar el proceso de desarrollo. Combinándolo con el poder de React, veamos cómo puedes construir un sistema de diseño personalizado para tu proyecto para acelerarlo aún más, hacerlo escalable y también fácil de mantener.

FAQ

Un design system no es solo una guía de estilo o una biblioteca de componentes. Incluye un lenguaje de diseño, un kit de diseño, una biblioteca de componentes y documentación. Estos elementos trabajan juntos para crear un marco integral que guía la totalidad del diseño y desarrollo del frontend.

Tailwind CSS es un framework de CSS de bajo nivel que ofrece bloques de construcción para diseñar páginas web sin salir del archivo HTML. Ayuda en la creación de un design system proporcionando clases de utilidad que se pueden aplicar directamente para construir diseños consistentes y mantenibles.

Se personaliza Tailwind CSS modificando el archivo de configuración de Tailwind. Se pueden añadir colores, fuentes, tamaños de texto y otros elementos de diseño específicos del sistema, lo que permite aplicar un estilo consistente en toda la aplicación sin repetir código.

Tailwind CSS simplifica el proceso de desarrollo de componentes en React al permitir a los desarrolladores aplicar estilos de manera eficiente usando clases de utilidad. Esto elimina la necesidad de cambiar constantemente entre archivos HTML y CSS, facilitando un desarrollo más rápido y coherente.

Algunas bibliotecas de componentes que utilizan React y Tailwind CSS incluyen Material-Tailwind, Wcai UI, Windmill-React UI y Kimea UI. Estas bibliotecas ofrecen componentes preconstruidos que pueden ser utilizados y personalizados en proyectos que emplean estas tecnologías.

Para extender la configuración de Tailwind CSS, se puede utilizar la función `extend` dentro del archivo de configuración. Esto permite mantener los valores predeterminados de Tailwind mientras se añaden personalizaciones específicas del proyecto como nuevos colores, tamaños de fuente, o breakpoints.

Shruti Balasa
Shruti Balasa
27 min
21 Jun, 2022

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Esta charla discute los sistemas de diseño y cómo construir uno usando React y Tailwind CSS. Tailwind CSS proporciona clases de utilidad para construir diseños complejos sin escribir reglas CSS. Los colores personalizados pueden ser añadidos al archivo de configuración de Tailwind CSS, y los estilos de fuente y tamaños de texto pueden ser personalizados. Toda la configuración de Tailwind CSS puede ser personalizada para cumplir con requisitos específicos. Los estilos base pueden ser añadidos al archivo de configuración en sí mismo usando un plugin. Los componentes reutilizables pueden ser creados con Tailwind CSS, permitiendo una fácil personalización de tamaño y color.

1. Introducción a los sistemas de diseño y Tailwind CSS

Short description:

Hola a todos, soy Shruti Balasah, una educadora tecnológica de India. Hoy hablaré sobre los sistemas de diseño y cómo construir uno usando React y Tailwind CSS. Cubriremos la importancia de los sistemas de diseño, qué son, Tailwind CSS, configuración avanzada de Tailwind, componentes React con Tailwind y bibliotecas de componentes para inspiración. Un sistema de diseño incluye lenguaje de diseño, kit de diseño, biblioteca de componentes y documentación. Tailwind CSS es un marco de CSS de bajo nivel que te permite diseñar páginas web sin salir de tu archivo HTML. Tiene cientos de clases de utilidad y una amplia gama de colores y tonos.

Hola a todos, soy Shruti Balasah, una educadora tecnológica de India. Desafortunadamente no pude viajar para encontrarme con todos ustedes en persona, pero aún así estoy realmente agradecida de poder hablar con todos ustedes en este gran escenario virtual.

Hoy voy a hablar sobre los design systems y cómo puedes construir uno usando React y Tailwind CSS. ¿Cualquier charla que tenga la palabra sistema tiene que ser aburrida, verdad? Pero lo siento, no lo haré aburrido para ti. Aquí tienes una rápida visión general de lo que vamos a cubrir. ¿Por qué un design system? ¿Qué es un design system? ¿Qué es Tailwind CSS? ¿Cómo ayuda Tailwind con el design system, configuración avanzada de Tailwind, componentes React con Tailwind, y finalmente algunas bibliotecas de componentes para inspiration?

Ya sea que ya tengas un design system en marcha o que escuches este término por primera vez, puedo asegurarte que te llevarás algo valioso en los próximos 20 minutos. Siempre empiezo desde lo básico. Entonces, hagamos la primera pregunta, ¿por qué un design system? Has escuchado tantas charlas desde esta mañana y seguramente los design systems han aparecido mucho. Es hora de que implementes un buen design system.

Entonces, ¿qué es exactamente este design system? No es solo una guía de estilo o una biblioteca de componentes. Idealmente, un design system incluye al menos estas cuatro cosas, lenguaje de diseño, kit de diseño, biblioteca de componentes y documentación. El lenguaje de diseño es el conjunto más pequeño de detalles que componen la totalidad de tu front-end, como los colores de tu marca, el tipo de fuentes que usas, incluyendo tamaños de fuente, pesos de fuente, y luego el espaciado entre elementos, esquinas redondeadas, esquinas afiladas, y así sucesivamente. El kit de diseño es el conjunto de activos o archivos gráficos que te da el diseñador. Puede tener iconos, símbolos, plantillas, maquetas, y así sucesivamente. Bibliotecas de componentes, estoy seguro de que sabes lo que es esto. Es un conjunto de componentes reutilizables como encabezados, botones, elementos de formulario, tarjetas y cientos de pequeños bloques de construcción. Finalmente, la documentación reúne todas estas partes con referencias a cada una de ellas y enumera los quehaceres y los que no hacer. Durante los próximos 15 minutos o así, nos centraremos en estas dos partes del sistema de diseño, las más importantes para nosotros, como desarrolladores. Ahora entra Tailwind CSS. Por supuesto, has oído hablar de él, tal vez lo has usado también, y a algunos de ustedes les encanta, a algunos de ustedes incluso puede que lo odien. Pero para aquellos de ustedes que no saben lo que hace Tailwind CSS, aquí tienen una rápida introducción de dos minutos.

Tailwind CSS es un marco de CSS de bajo nivel que te proporciona los bloques de construcción para diseñar tus páginas web sin tener que salir de tu archivo HTML. Sin cambio de contexto. Tailwind tiene cientos de clases de utilidad como estas, TextWhite, TextCenter, donde TextWhite establecerá el color de tu texto en blanco y TextCenter lo centrará. Luego algo como esto, BG Blue 200 añadirá un fondo azul claro. Tailwind tiene alrededor de 220 tonos por defecto que puedes usar. Aquí tienes solo una muestra. Tailwind tiene 22 colores principales con 10 tonos cada uno, donde el sufijo 50 es el tono más claro y 900 es el más oscuro. A continuación, el H20 que ves aquí es una de las clases de utilidad de altura fija.

2. Usando Tailwind CSS para construir un sistema de diseño

Short description:

Tailwind CSS tiene clases de utilidad para casi todas las propiedades CSS con valores comúnmente utilizados. Usando estas clases de utilidad predeterminadas, puedes construir incluso los diseños más complejos sin escribir una sola regla CSS. Tailwind CSS ayuda a construir un sistema de diseño proporcionando una configuración predeterminada para una aplicación React y permitiéndote personalizarla en función de una guía de estilos dada.

Hay alrededor de 40 clases como estas, H1, H2, y así sucesivamente. Estas son algunas muestras de la documentation y, por cierto, la documentation es increíble. Encontrarás cualquier cosa que estés buscando en cuestión de segundos. Luego, algo como esto, H20, W20, ya sabes, ambos alrededor de 80 píxeles, ancho y alto, luego rounded full, así que no hay necesidad de usar border, radius, 50%.. Simplemente puedes establecer rounded full. Esa es otra gran clase de utilidad. Y esto es una de las cosas más increíbles de Tailwind. ¡Mira eso! Por defecto es un cuadrado, pero después de MDBreakpoint, que es para pantallas más grandes que MDBreakpoint, que es el punto de interrupción medio, puedes añadir un radio de borde, rounded full. ¿Verdad? Así que puedes especificar cualquier clase de utilidad usando estos puntos de interrupción para cambiar estilos y sin usar ninguna consulta de medios como tal. Mucho menos code. Y aquí hay otra cosa, el modo oscuro. Puedes usar estas variantes oscuras por defecto, text gray 800 que es un color gris oscuro y en modo oscuro es text white. Vimos clases para el color del texto, el color de fondo, el radio del borde y las alturas. De la misma manera, Tailwind tiene clases de utilidad para casi todas las propiedades CSS con los valores más comúnmente utilizados. Usando estas clases de utilidad predeterminadas, puedes construir incluso los diseños más complejos como este y no tener que escribir una sola regla CSS. No tienes que inventar nombres de clases y no tienes que cambiar constantemente entre archivos HTML y CSS.

Bien, ahora lleguemos al meollo del asunto. Entonces, ¿cómo exactamente ayuda Tailwind CSS a construir un sistema de diseño? Para eso, permíteme cerrar mis diapositivas y veamos algo de code real. Este es un proyecto de React que he creado usando create-react-app. He instalado Tailwind CSS siguiendo la documentation. Es bastante sencillo. También he eliminado el contenido predeterminado de app.js y he añadido solo un encabezado aquí, párrafo y un enlace y solo algunas clases de utilidad aquí. Ahora esto es lo que tenemos en el navegador para empezar. Ahora aquí está nuestro archivo principal, el archivo de configuración de tailwind que se genera cuando instalas Tailwind siguiendo los pasos que acabo de mencionar. Esta es la configuración predeterminada para una aplicación React. Si quieres usar Tailwind tal como está con todos los estilos predeterminados de fábrica, no necesitas hacer ningún cambio en este archivo. Pero para construir un sistema de diseño, este es tu archivo más importante. Supón que te dan una guía de estilos, algo como esto por tu diseñador. Lo he tomado de Pinterest. Es solo un ejemplo realmente simple.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Sistemas de Diseño: Caminando la Línea Entre Flexibilidad y Consistencia
React Advanced Conference 2021React Advanced Conference 2021
47 min
Sistemas de Diseño: Caminando la Línea Entre Flexibilidad y Consistencia
Top Content
Los sistemas de diseño buscan aportar consistencia al diseño de una marca y hacer que el desarrollo de la interfaz de usuario sea productivo. Las bibliotecas de componentes con una API bien pensada pueden facilitar esto. Pero, ¡a veces una elección de API puede accidentalmente sobrepasar y ralentizar al equipo! Hay un equilibrio allí... en algún lugar. Exploremos algunos de los problemas y posibles soluciones creativas.
Rethinking CSS - Introducing Stylex
React Finland 2021React Finland 2021
25 min
Rethinking CSS - Introducing Stylex
Top Content
CSS + superpowers - bloat. How Stylex creates a zero-cost abstraction that gives CSS superpowers.
Caminando en la línea entre la flexibilidad y la consistencia en las bibliotecas de componentes
React Summit 2022React Summit 2022
27 min
Caminando en la línea entre la flexibilidad y la consistencia en las bibliotecas de componentes
Los sistemas de diseño tienen como objetivo brindar consistencia al diseño de una marca y hacer que el desarrollo de la interfaz de usuario sea productivo. Las bibliotecas de componentes con una API bien pensada pueden hacer que esto sea muy fácil. Pero, ¡a veces una elección de API puede sobrepasarse accidentalmente y ralentizar al equipo! Hay un equilibrio ahí... en algún lugar. Vamos a explorar algunos de los problemas y posibles soluciones creativas.
Descubre si tu sistema de diseño es mejor que nada
React Summit 2022React Summit 2022
20 min
Descubre si tu sistema de diseño es mejor que nada
Construir un sistema de diseño no es suficiente. Tu equipo de desarrollo debe preferirlo sobre los componentes individuales y las bibliotecas de terceros. De lo contrario, todo el esfuerzo es una pérdida de tiempo. Aprende cómo utilizar el análisis de código estático para medir si tu sistema de diseño supera a la competencia interna y formas basadas en datos para mejorar tu posición.
Cómo lograr la composición de diseño en React
React Summit 2022React Summit 2022
8 min
Cómo lograr la composición de diseño en React
Usar CSS en esta era de componentes es difícil. Se han creado muchas herramientas para ayudarnos con este problema, pero todas fallan en el único problema que las herramientas nunca pueden resolver: ¿Qué componente debería encargarse de qué estilos? En esta charla, repasaremos estrategias sobre cómo construir diseños de manera componible.
Dilemas de los diálogos y travesuras modales: Un análisis profundo de las ventanas emergentes
JSNation 2023JSNation 2023
10 min
Dilemas de los diálogos y travesuras modales: Un análisis profundo de las ventanas emergentes
Nuestros sistemas de diseño comúnmente incluyen componentes que se muestran encima de otro contenido: tooltips, date pickers, menús y enseñanza de la interfaz de usuario, por nombrar solo algunos. Las actualizaciones propuestas para la plataforma web están a punto de hacer que construir estos sea mucho más fácil. Es posible que ni siquiera necesites JavaScript. En esta charla, aprenderás todo sobre el próximo atributo 'popover', la modalidad y la capa superior.

Workshops on related topic

Desarrollo Rápido de UI en React: Aprovechando Bibliotecas de Componentes Personalizadas y Sistemas de Diseño
React Advanced Conference 2022React Advanced Conference 2022
118 min
Desarrollo Rápido de UI en React: Aprovechando Bibliotecas de Componentes Personalizadas y Sistemas de Diseño
Workshop
Richard Moss
Richard Moss
En este masterclass, recorreremos los enfoques más efectivos para construir componentes de UI escalables que mejoren la productividad y felicidad del desarrollador :-) Esto implicará una combinación de ejercicios prácticos y presentaciones, que cubrirán los aspectos más avanzados de la popular biblioteca styled-components, incluyendo la tematización e implementación de utilidades styled-system a través de props de estilo para un desarrollo rápido de UI, y culminando en cómo puedes construir tu propia biblioteca de componentes personalizada y escalable.
Nos enfocaremos tanto en el escenario ideal, donde trabajas en un proyecto nuevo, como en tácticas para adoptar incrementalmente un sistema de diseño y enfoques modernos para el estilo en una base de código existente con algo de deuda técnica (¡que suele ser el caso!). Al final del masterclass, deberías sentir que comprendes los compromisos entre diferentes enfoques y sentirte seguro para comenzar a implementar las opciones disponibles para avanzar hacia el uso de una biblioteca de componentes basada en un sistema de diseño en la base de código en la que trabajas.
Prerrequisitos: - Familiaridad y experiencia trabajando en grandes bases de código de React- Una buena comprensión de los enfoques comunes para el estilo en React