Por qué el CSS merece ser reconocido como un lenguaje de programación

El CSS ha evolucionado de una simple hoja de estilos a un lenguaje de programación complejo y potente, capaz de ejecutar lógica, construir motores de renderizado 3D y gestionar bases de datos. Aunque su simplicidad inicial en 1996 generó una percepción errónea de que es solo decorativo, la realidad

Mador: un runtime reactivo para el DOM en menos de un kilobyte

Mador es un pequeño runtime reactivo para el DOM pensado para desarrolladores que no quieren adoptar un framework completo. Funciona como un módulo ES nativo y puede importarse desde npm o directamente desde una CDN sin paso de compilación ni variables globales. La API se reduce a dos funciones: r()

Vidact: un compilador que traduce React a JavaScript puro

Vidact es un compilador en fase beta que lee componentes funcionales de React en el momento de la build y genera el código DOM equivalente en JavaScript nativo. El cuerpo del componente se ejecuta una sola vez, durante el montaje; las llamadas posteriores a setState solo actualizan los nodos de text

Cuándo y cómo se calculan las variables CSS personalizadas

Las propiedades personalizadas de CSS (custom properties) no siempre se evalúan donde uno espera, y ese matiz cambia por completo el resultado de una regla. Por defecto, una variable como `--index: sibling-index()` se almacena como un flujo de tokens sin procesar y solo se sustituye y calcula en el

A favor del interruptor de tema con dos estados

En el desarrollo frontend se debate si los selectores de tema deben ofrecer dos estados (claro/oscuro) o tres (añadiendo "sistema"). El artículo defiende la opción binaria basándose en un argumento publicado por Lea Verou, según el cual la mayoría de usuarios que interactúan con un interruptor en la

El hilo principal del navegador: por qué es un recurso costoso

En el desarrollo frontend, la optimización suele centrarse en reducir peticiones, adelgazar el bundle o aprovechar la caché. Sin embargo, en interfaces muy interactivas —con datos en streaming, animaciones y entrada del usuario simultáneas—, el cuello de botella pasa a ser otro: el hilo principal de

Minificar CSS: por qué no merece la pena

Minificar el CSS —eliminar espacios en blanco y comentarios— se ha convertido en un paso habitual en los flujos de trabajo de desarrollo web, pero rara vez aporta un beneficio perceptible. Este artículo analiza con datos si esa práctica tiene sentido en 2023. En primer lugar, el tamaño importa meno

Ambient CSS: un sistema de iluminación física para hojas de estilo

Ambient CSS redefine el paradigma de la iluminación en interfaces web al introducir un sistema basado en principios físicos reales, eliminando la necesidad de ajustar manualmente escalas decorativas de sombras como shadow-sm o shadow-lg. Este enfoque, desarrollado por kikkupico y disponible a través

Polyfill para llevar la función CSS random() a todos los navegadores

La comunidad web discute desde finales de 2025 una nueva función nativa de CSS llamada random(), pensada para introducir aleatoriedad controlada en el diseño sin depender de JavaScript. Safari fue el primer navegador en incorporarla, dentro de un conjunto de novedades enfocadas a «pavimentar los cam

useMemo y useCallback en React: cómo y cuándo usarlos

Este artículo explica de forma didáctica qué son los hooks useMemo y useCallback de React, para qué sirven y cuándo merece la pena utilizarlos. Ambos son herramientas de optimización del proceso de re-renderizado, que es el mecanismo con el que React mantiene la interfaz sincronizada con el estado d

CSS Selectores: el nuevo Class Prefix Selector ya está en camino

El CSS Working Group resolvió hace dos semanas, durante su reunión presencial (F2F) celebrada en Berlín en agosto de 2026, incorporar al borrador de la especificación CSS Selectors Level 5 un nuevo selector denominado Class Prefix Selector, cuya sintaxis es .prefijo-*. Esta propuesta, planteada orig

Funciones de HTML que ya no necesitan JavaScript

El estándar HTML ha ido incorporando durante los últimos años funcionalidades que antes dependían de JavaScript, lo que permite a los desarrolladores web construir interfaces interactivas con menos código de scripting. La página 'HTML Can Do That', elaborada por Chris Burnell con motivo del HTML Day

Bamboo CSS supera a StyleX y Panda en un benchmark de motores CSS-in-JS

El repositorio css-in-js-arena, mantenido por gajus en GitHub, publica una comparativa reproducible entre tres motores de CSS en tiempo de compilación: Bamboo CSS (1.45.3), StyleX (0.19.0) y Panda CSS (1.12.0). Cada motor se integra en una aplicación React Router 8 con seis rutas idénticas —panel de

El 90,5% de los 5.000 sitios más visitados incumplen el estándar HTML

Un análisis automático sobre las páginas de inicio de los 5.000 dominios mejor posicionados en el ranking Tranco detectó que 9 de cada 10 vulneran la especificación HTML y acumulan 100.399 errores en 220 familias distintas de mensajes, junto a 17.599 errores CSS. Solo 2.655 dominios respondieron con

Cinco propiedades CSS para mejorar tus diseños tipográficos

Elegir una buena fuente para un sitio web es solo el comienzo: el grosor, el estilo, el espaciado y la decoración del texto abren muchas posibilidades, pero en ocasiones hacen falta herramientas adicionales para que los textos destaquen visualmente. Esta guía repasa cinco propiedades CSS relativamen

Carl publica su lista de lectura recomendada para equipos de ingeniería

Carl Kolon, líder de ingeniería, ha publicado en su blog personal la lista de artículos que comparte con su equipo bajo la etiqueta «required reading». El objetivo es destilar el conocimiento de otros programadores que hayan enfrentado retos parecidos a los suyos. El conjunto está organizado por te

Por qué no recomiendo Tailwind CSS en proyectos medianos o grandes

Este artículo de opinión repasa los principales argumentos del desarrollador Andros Fenollosa en contra de utilizar Tailwind CSS de forma generalizada. El autor reconoce que el framework es popular entre programadores web porque estandariza espaciados, colores y tamaños, y obliga a una metodología d

Construir el peor clon posible de htmx en pocas líneas de JavaScript

Un desarrollador publica un tutorial en el que explica cómo construir un clon mínimo de htmx recurriendo únicamente a JavaScript vanilla. La pieza forma parte de una serie iniciada en 2018 con clones de React y Vue, y se propone como un ejercicio divulgativo para mostrar el núcleo de la librería. h

Cómo identificar un componente de interfaz cuando no sabes su nombre

Nombrar correctamente un elemento de interfaz de usuario es útil solo cuando conduce a la interacción, el foco, el comportamiento de teclado, el cierre y la adaptación móvil adecuados. Este artículo propone un método de tres pasos para distinguir entre patrones visuales parecidos, como Tooltip, Popo

98.css: una biblioteca CSS para recrear fielmente la estética de Windows 98

98.css es una biblioteca de CSS diseñada para construir interfaces que reproducen con fidelidad la apariencia del sistema operativo Windows 98. El proyecto se distribuye como un único archivo de estilos sin dependencias de JavaScript, lo que lo hace compatible con cualquier framework de frontend (Re

Generación dinámica de paletas de color con la función oklch() de CSS

La función oklch() de CSS permite describir un color a partir de tres componentes: luminosidad (L), croma (C) y tono (H). Por ejemplo, el azul #007ab8 equivale a oklch(55.48% 0.131 241.70). La verdadera potencia llega con los colores relativos, una característica que, anteponiendo el operador from a

Dónde guardar el token de autenticación para sobrevivir a un XSS

Almacenar el token JWT en localStorage es la opción más extendida en los tutoriales, pero también la más expuesta: cualquier JavaScript que se ejecute en la página (una dependencia comprometida, un widget de terceros, una extensión del navegador o el propio código del atacante tras un XSS) puede lee

Cómo ejecutar 1000 pruebas en un segundo en el navegador

El conjunto de pruebas de Preact, un framework moderno para aplicaciones web, ejecuta 1003 tests contra el DOM real del navegador en aproximadamente un segundo. El artículo analiza por qué la mayoría de los test runners populares en el frontend tardan mucho más y qué decisiones técnicas permiten alc

Guía práctica de Anchor Positioning en CSS

La API de Anchor Positioning de CSS resuelve uno de los problemas clásicos del diseño web: anclar un elemento flotante —como un tooltip o un menú desplegable— a otro de referencia, gestionando automáticamente los desbordamientos y los cambios de posición. Frente al histórico uso de JavaScript, esta

Avo 4 llega con interfaz renovada, nuevos complementos y cientos de mejoras

Avo 4 ya está disponible en versión de disponibilidad general tras unos quince meses de desarrollo y alrededor de 2.000 commits. Se trata de una reescritura importante del framework para paneles de administración en Ruby on Rails, con una interfaz más limpia, tipografía mejorada y un sistema de apar

Del FTP al frontend moderno: por qué existen los 1.400 paquetes de tu proyecto

Este artículo recorre, capa por capa, las dos décadas de historia que separan un index.html subido por FTP en 2008 del ecosistema actual de frontend, dominado por frameworks declarativos, transpiladores y herramientas escritas en Rust. La tesis central es que ninguna de esas herramientas surgió por

Beer CSS: un framework Material Design en HTML semántico

Beer CSS es un framework de interfaz de usuario que traduce los principios de Material Design a marcado HTML semántico estándar, sin imponer componentes opacos ni JavaScript propietario. La promesa es clara: construir interfaces con apariencia Material sin que el equipo de desarrollo renuncie al con

MIZ: la historia de un framework CSS nacido en el aula

MIZ es un framework CSS de frontend creado por el docente Sajjad Arvin y sus estudiantes hace aproximadamente dos años. El proyecto surgió en un curso de programación web en el que Arvin decidió utilizar Sass por su sintaxis sencilla, con el objetivo de que los alumnos aprendieran desarrollando su p

Efecto parallax nativo en CSS con animaciones de scroll

El desplazamiento parallax, ese efecto visual en el que los elementos se mueven a distinta velocidad al hacer scroll, lleva años formando parte del diseño web. La receta tradicional exigía JavaScript: un listener del evento scroll, recálculos de posición en cada frame y ajustes manuales del elemento

La etiqueta dl HTML es una herramienta semántica subestimada en desarrollo web

El elemento HTML <dl>, o lista de descripción, es una herramienta semántica frecuentemente subestimada en el desarrollo web moderno. Su importancia radica en su capacidad para representar de manera estructurada listas de pares nombre-valor, un patrón de interfaz de usuario extremadamente versátil. D

Malusev cuestiona la seguridad de JWT y su utilidad real en desarrollo web

El desarrollador Dusan Malusev ha publicado una crítica contundente sobre la seguridad y utilidad de los tokens JWT en aplicaciones modernas. En su análisis, Malusev argumenta que JWT es un "culto de carga" que promete autenticación sin estado pero no lo entrega realmente, resultando en aplicaciones

Guía completa de listas HTML: cuándo usar cada tipo según su significado

Este artículo profundiza en los cinco tipos diferentes de listas HTML que todo desarrollador web debería conocer: ordenadas (<ol>), no ordenadas (<ul>), de descripción (<dl>), menús (<menu>) y de control (<select>/<option> o <input>/<datalist>). A diferencia de los tutoriales básicos, el autor explo

Railway agiliza su frontend con Vite

Railway, una plataforma para construir y ejecutar aplicaciones, ha migrado por completo su frontend de producción de Next.js a Vite + TanStack Router, completando la transición en dos pull requests sin tiempo de inactividad. La decisión se tomó debido a que los tiempos de compilación de Next.js habí

Skyvern usa IA para agilizar la revisión de código

Skyvern, una empresa que automatiza tareas repetitivas en la web, ha desarrollado una innovadora herramienta que utiliza el modelo de lenguaje Claude para automatizar el control de calidad (QA) de su propio código. La solución, integrada en su plataforma, analiza los cambios en el código (git diff),

µJS: Biblioteca agiliza navegación web sin frameworks

Un nuevo proyecto llamado µJS (pronunciado 'micro JS') simplifica la navegación AJAX para sitios web, permitiendo a los desarrolladores crear experiencias de usuario más rápidas y fluidas sin la complejidad de frameworks JavaScript. La biblioteca, disponible en un único archivo de aproximadamente 5

Astro y Svelte: ¿el futuro simple de la web?

El artículo de Sergio Alexander Florez Galeano explora la creciente complejidad en el desarrollo web moderno y presenta Astro y Svelte como una posible solución, abogando por un retorno a la simplicidad original de la web. El problema de la sobredimensión: El desarrollo web ha evolucionado desde sim

Tauri en la web: Nuevo plugin abre la puerta

Desarrolladores han encontrado una solución para ejecutar interfaces de usuario (frontend) de Tauri dentro de navegadores web, superando una limitación previa. Tauri, un framework para crear aplicaciones de escritorio con tecnologías web, normalmente depende de variables globales específicas de su e

Celebran el 'Día del Box-sizing' para simplificar la web

En conmemoración del 1 de febrero, Chris Coyier de CSS-Tricks ha declarado el “Día Internacional de la Conciencia sobre box-sizing”. Esta propiedad CSS, a menudo pasada por alto, simplifica significativamente el desarrollo web al cambiar la forma en que se calculan los anchos de los elementos. Por d

Sitio web falla: JavaScript es esencial

El mensaje "We're sorry but vangemert doesn't work properly without JavaScript enabled. Please enable it to continue." indica un problema fundamental con la forma en que el sitio web `vangemert.dev` está construido y cómo interactúa con los navegadores web. Para entender esto, es crucial comprender