CSS4: “La nueva versión de CSS que nunca Existirá”

Publicado por MATR1X en

CSS4 suena Cool, pero es solo un concepto inventado para anunciar nuevas incorporaciones en CSS. La realidad es que CSS4 no existe, por lo menos de parte de la W3C.

Pero con la respuesta larga recuperamos la esperanza: habrá actualizaciones, mejoras y nuevas características para CSS, pero no se llamarán CSS4 y no verán la luz siguiendo el mismo proceso que nos acostumbraron versiones como CSS1 o CSS2.

En las versiones CSS1, CSS2 Y CSS2.1 el consorcio trabajaba con documentos unitarios, es decir, se expedían especificaciones monolíticas, y esto era que todos las propiedades eran incluidas en un solo documento y eran entregados en una versión estándar de CSS.  Desde la versión 2.1 de CSS, el consorcio implementó las especificaciones modulares conformadas por grupos de trabajos, esto gracias a que CSS estaba creciendo exponencialmente y el el grado de complejidad crecía. Así que no tenia sentido seguir la línea de trabajo en la que se estancaba todo el avance del grupo por esperar a que todas las propiedades implementadas estuviesen listas con el fin de tener una especificación completa para declarar una versión estándar de CSS. No tenia sentido. Por lo tanto, después de CSS2.1 todas las cosas que habían formado parte de esta especificación se dividieron en módulos y estos comandados por grupos de trabajo, y las nuevas características pertenecerían a un tercer nivel, de ahí CSS3.

Es decir desde la versión 2.1 cada módulo de CSS se trabajará y crecerá de forma independiente y sus actualizaciones serán publicadas de la misma forma. Como lo indica Bert Bos:

Los módulos se desarrollan a diferentes velocidades, dependiendo de su complejidad y de las prioridades del grupo de trabajo w3.org/Style/2011/CSS-process.

Ahora, varias de las propiedades implementadas en los nuevos módulos habían sido pensadas desde hace muchos años e incluso han venido siendo trabajado desde hace varios años, por ejemplo: el uso de variables en CSS, y hoy día apenas hacen carrera para convertirse en una W3C

Recommendation. Para que pase esto cada módulo es estudiado y revisado minuciosamente por cada grupo de trabajo, y así, este debe de pasar 4 etapas previas para recibir el pleno reconocimiento por parte de los miembros de la W3C e incluso del director del consorcio, estas etapas son:

  1. Editor’s Draft (ED)
  2. Working Draft (WD)
  3. Candidate Recommendation (CR)
  4. Proposed Recommendation (PR)
  5. WC3 Recommendation (REC)
  • Si deseas ver el estado de las diversas características en CSS , y el nivel actual en el registro de salida de cada Grupo de Trabajo, puedes consultarlo en: Current Work document
  • Para comprender los diferentes estados que se mueven a través de una especificación, consulte la información sobre niveles de madurez en el documento de proceso: maturity-levels

Desde hace meses, incluso años, ya asoman las nuevas características implementadas por los grupos de trabajos con respecto al lenguaje CSS,  cada cual en su diferente etapa y muchas implementadas ya en los principales y modernos navegadores, ya que estos pueden implementar cada módulo independientemente en la etapa en la que este se encuentre, y es aquí donde aparecen los conocidos prefijos propietarios Ej. ( -webkit-, -moz- ) para soportar propiedades que aún están siendo trabajadas y que pueden ser modificadas en cualquier momento, ya sea en sintaxis o en funcionamiento, porque las etapas de evaluación no son secuenciales y en cualquiera de ellas pueden ser replanteadas.

Ya conocemos las nuevas características de CSS, interesantes, novedosas y sin duda, muchas de ellas las necesitábamos y las esperábamos desde mucho antes, aunque el soporte en los navegadores hasta hoy día no es el mejor (los modernos ya las implementan en sus últimas versiones) podemos comenzar a probar y a familiarizarnos con ellas.

Entre las principales novedades tenemos:

El uso de variables CSS drafts.csswg.org/css-variables
Los Selectores de nivel 4 w3.org/TR/2012/WD-selectors4-20120823
El sistema CSS Grid Layout  drafts.csswg.org/css-grid
El uso de CSS Scroll snap points. w3.org/TR/css-scroll-snap-1

La web evoluciona de una forma no lineal y las nuevas especificaciones de CSS se trabajarán en función a esta evolución, mucho más natural,divididas por módulos, donde el nivel de cada módulo (nivel 1, 2, 3, 4 o 5) no se corresponde necesariamente con la versión de CSS donde se incluyeron por primera vez, sino que responde a un control de niveles propio. Veamos esto con más detalle.

CSS1 y CSS2: documento completo

Las primeras versiones de CSS estaban recogidas en una especificación en forma dedocumento único. Esto significa que toda la especificación (aunque dividido por secciones) entraba en consideración, revisión o recomendación a la vez, de forma monolítica.


Así era la primera web donde se definió la especificación CSS (la que llamamos CSS1)

Por lo tanto, hasta que todas las características no estuvieran listas, el documento no veía la luz. Si había algo que se retrasaba, se retrasaba la implementación de todas las funcionalidades.

Así por ejemplo, en CSS1, la propiedadbackground-colorva de la mano depadding, aunque poco tengan que ver. Ambas forman parte del mismo documento y su implementación es coetánea.

Lo mismo con CSS2 y CSS2.1, un solo documento con todas las novedades en forma de de actualización completa y cerrada. Los tiempos de implementación se alargan. Todo tiene que estar listo para que estas versiones vea la luz.

Sin embargo, como hemos comentado, la web evoluciona de forma no lineal. Los navegadores se actualizan siguiendo sus propios ciclos de trabajo, añadiendo aquellas características que creen más convenientes o urgentes.

CSS3: el cambio a la modularización


Los módulos definidos en CSS3 ya están listos para ir evolucionando y creciendo de forma independiente. Fuente: Wikipedia

Pero con CSS3la forma de trabajo cambia. En lugar de un solo documento,cada grupo de características homogéneas se divide en módulos independientes, para que su implementación sea más sencilla y puedan evolucionar y ser actualizadas por separado.

Esto da lugar a muchos módulos llamados «de nivel 3», tales como el módulo de selectores de nivel 3 o el módulo de color de nivel 3, independientes unos de otros pero compartiendo el mismo nivel.

CSS4: la próxima no versión de CSS

Desde aquí, con toda la especificación dividida,cada módulo evoluciona de forma independiente. La línea temporal se difumina y no será posible establecer una fecha común para todos los módulos, pues ya hay algunos que están publicados y otros sobre los que todavía no se ha empezado a trabajar.


Estos son los diferentes estados de los documentos CSS. Algunos nunca llegan al final.

Esto unido a los diferentes estados posibles de cada documento (Working Draft, Candidate Recomendation, Recomendation….) hace que la evolución de cada módulo sea independiente y más acorde con la evolución de la web.

Sin embargo, parece que pudiésemos identificar todavía unos escalones comunes a todos los módulos (todo lo que lleva nivel 3 sería CSS3 y nivel 4 pudiera referirse a CSS4). Sin embargo esto no es así, pues también tendremos nuevos módulos, que comenzarán con su propio control de versiones y niveles. El ejemplo más claro CSS Grid, el nuevo módulo para crear layouts basadas en grid comienza con el nivel 1, que ya es Candidate Recomendation y ya tiene su actualización a nivel 2en Working Draft.

¿Significa que CSS Grid es CSS1? Claramente no. Es un módulo cuyo nivel propio actual es 1, pero que no forma parte, al igual que el resto de módulos, de ningún documento único.

Conclusión: No habrá CSS4 pero si actualizaciones

El ejemplo de CSS Grid es quizás el más ilustrativo sobre cómo será el futuro de las próximas características y actualizaciones de CSS. Trabajar por módulos siempre es una buena idea, permite jugar con diferentes ciclos y velocidades de trabajo, según el nivel de uso o dificultad de implementar una u otra característica por parte de los navegadores.

Fuente 1: silocreativo

Fuente 2: soyfrontend.com

Categorías: Programación

MATR1X

Tengo conocimientos de: Edición de Vídeo conozco de After Effetcs y Premiere. Programación Web en lenguajes como PHP, JavaScript, MySQL, HTML y CSS. Animaciones 3D en Cinema 4D no muy complejas y también conozco de Photoshop

5 comentarios

Alex Mejia · 6 marzo, 2020 a las 2:49 PM

Cualquiera hace un copy/paste hoy en día, tu te robaste un blog del 2018, patético.

https://www.silocreativo.com/css4-nueva-version-css-nunca-existira/

    MATR1X · 10 marzo, 2020 a las 11:03 AM

    Ehmmm, no se si te fijaste que al final del artículo dice de dónde se copió el artículo, el blog no pretende ser siempre original, la información copiada de internet le puede ser útil a los que solo pueden acceder desde la red nacional y no a internet.

Roner · 17 febrero, 2020 a las 11:40 AM

El lo dice por el titulo que sale en google.

serresiete · 10 enero, 2020 a las 4:46 AM

es lebiosa no lebiosá = es realidad no realida. subnormà

    MATR1X · 13 enero, 2020 a las 9:19 AM

    ¿Eh? Creo que te confundiste de blog

Deja una respuesta

Tu dirección de correo electrónico no será publicada.