Y luego encontramos que hablan de lo feo. Y nuevamente, tengo que empezar con un cliché que es, todavía me resulta muy difícil de escanear. Y en realidad es difícil no estar de acuerdo con eso. Si tienes ese tipo de nombres de clases y quieres, por ejemplo, incrementar eso con media queries, esto se vuelve fijo. Y si lo comparas con lo que sería, por ejemplo, semántica, una alternativa en semántica CSS, tendrías algo como esto donde tienes una clase y luego tienes las media queries tradicionales para las diferentes tamaños de pantalla que soportas. Y digamos en un escenario en el que estás rastreando un error de interfaz de usuario y sabes que no está relacionado con el escritorio o la versión de la tableta, puedes ignorar los bloques de las media queries y enfocarte en tu clase, por ejemplo.
Todo esto sucede porque es simple. Es más fácil para nosotros escanear si necesitamos leer código de arriba a abajo. Y es más fácil para nuestros ojos encontrar pares específicos de propiedades y valores. Entonces, si tienes un resaltado de sintaxis adecuado, separando esas propiedades y valores, incluso tienes una mejor legibilidad. Y puedes decir, bueno, pero esos nombres de clases largos no ocurren mucho allá arriba, pero resulta que sí. Y es común ver sitios web de producción que tienen como 60, 70, incluso más nombres de clases. La otra cosa es que es una especie de cultura que fomenta grandes sopas de etiquetas en el marcado. Entonces, creo que sucede porque con Atomic CSS en general, el enfoque está en las clases, no en el marcado.
Antes de seguir adelante, no me malinterpretes, Tailwind o Atomic CSS, no promueven un HTML feo. Pero la cuestión es que con este modelo mental, puedes agregar tantos divs como quieras y no necesariamente tienes que preocuparte por el significado. Así que terminas en esta área donde puedes hacer las cosas de la manera correcta, pero debido a que es fácil, tiendes a terminar con estructuras DOM anidadas grandes que a veces ni siquiera tienen elementos semánticos significativos. Entonces, esto es, por ejemplo, un marcado real de un pie de página en la plantilla de Tailwind UI. Y sucede mucho allá arriba. Y si tuviera que dar una opinión sobre eso, diría que el problema aquí es que estás pensando primero en las clases de CSS. en lugar de comenzar con el marcado y hacer CSS desde allí. Y siguiendo con esta opinión, creo que las herramientas en general, pueden facilitar hacer ciertas cosas de una manera no ideal. Y creo que eso es lo que está sucediendo aquí. Un enfoque que facilita la semántica. Y realmente me gusta cómo Tony Yeliseya definió esto en términos de una mentalidad que, okay, necesito un lugar para poner mis clases de CSS. Así que solo agrego otro div. Y entiendo que, en última instancia, esto probablemente sea para optimizar la felicidad y la productividad del desarrollador, que es un punto fuerte en esas metodologías, pero me temo que al hacerlo, podrías estar optimizando en exceso el rendimiento, la legibilidad, el mantenimiento y la accesibilidad. Y cada vez más, al revisar esos repositorios abiertos de compartir fragmentos de código, verás ejemplos debatidos en exceso como este, donde tienes un número infinito de esto, tienes, por ejemplo, un encabezado vacío, tienes marcadores de posición haciendo lo que se supone que deben hacer las etiquetas, tienes spans que deberían ser encabezados y así sucesivamente. Entonces, creo que esto podría ser, por ejemplo, malo para la accesibilidad. Y en cuanto al rendimiento, esto también es malo, no por el tamaño de tu nombre de clase, sino porque puedes estar creando estructuras DOM anidadas y este tamaño excesivo del DOM debe evitarse. Y realmente puedes ver esto si revisas, por ejemplo, la brecha de desigualdad de rendimiento del último año, donde básicamente llegas a esta realización de que las computadoras o los teléfonos inteligentes y las redes no son tan potentes como tendemos a pensar.
Comments