La World Wide Web nació cerca de Ginebra (Suiza) en el CERN, el laboratorio europeo de física de partículas. Su principal creador fue Tim Berners-Lee (nacido en Londres en 1955), que propuso en marzo de 1989 la creación de un sistema de hipertexto para facilitar el intercambio de información entre los investigadores del CERN. El primer servidor web de la historia se instaló en el CERN en diciembre de 1990. En el verano de 1991, este sistema (servidor y navegador) se puso a disposición de todos los usuarios de Internet, entonces limitados a universades y otros centros públicos. El 20 de abril de 1993, el CERN anunció oficialmente que la licencia del software del navegador y del servidor sería el dominio público, permitiendo su expansión sin límites.
A partir de 1991 se permitió el acceso a Internet a particulares. El éxito de la web como medio de distribución de información impulsó la creación en 1994 del W3C (World Wide Web Consortium), organismo formado por empresas y universidades de todo el mundo, para encauzar el desarrollo de la Web.
Hasta el año 2000 el W3C dirigió con eficacia y resultados tangibles el desarrollo de la web, consiguiendo equilibrar las presiones de las empresas y consensuar normas publicadas con el nombre de Recomendaciones.
En los 90, el W3C publicó las recomendaciones HTML 3.2 (1997), HTML 4 (1998) y HTMl 4.01 (1999) que constituyen las versiones "clásicas" del HTML, con cada vez más etiquetas para distintos tipos de elementos. El W3C publicó también las recomendaciones CSS nivel 1 (1996) y CSS nivel 2 (1998), que constituyen las versiones "clásicas" de las hojas de estilo CSS, con cada vez más propiedades para definir el aspecto visual de las páginas.
Para permitir que el HTML pudiera codificar cualquier tipo de información, no simplemente documentos formados por texto e imágenes pensados para ser leídos en pantallas de ordenador, el W3C creó en 1998 el XML, un conjunto de tecnologías para definir y manipular documentos de marcas arbitrarios. Así, el W3C creó los lenguajes de marcas MathML (para fórmulas matemáticas, en 1998) y SVG (para gráficos vectoriales, en 2001).
El W3C decidió entonces declarar obsoleto el HTML "clásico" y trabajar únicamente en un HTML basado en XML y que se llamó XHTML, cuya recomendación XHTML 1.0 se publicó en 2000.
Esa decisión resultó ser un fracaso absoluto, porque el XHTML nunca llegó a utilizarse (por mucho que digan los currículos obsoletos de los ciclos formativos ASIR, DAM y DAW :-). Personalmente, no creo que haya un único motivo que explique ese fracaso. Que Microsoft, que entonces dominaba de forma absoluta el mercado de navegadores con Internet Explorer, se negara a mostrar documentos XHTML tuvo sin duda un peso innegable, pero es verdad que los navegadores posteriores que acabaron con ese dominio (Firefox y sobre todo, Google Chrome, pero también Safari) tampoco han apostado de verdad nunca por el XHTML. La exigencia del XHTML (heredada del XML) de que los documentos no pueden tener errores sintácticos para mostrarse en el navegador quizás ha sido una exigencia demasiado fuerte para una web que sigue teniendo un proceso de elaboración artesanal (como en este curso ;-).
El XML, por su parte, tuvo inicialmente un éxito tremendo y aunque todavía se utiliza en muchos ámbitos, su declive desde 2010 es evidente. El W3C empezó en 2013 a cerrar los grupos de trabajo dedicados a las tecnologías XML y actualmente (mayo de 2022) apenas quedan un par de grupos dedicados a temas sectoriales. Seguramente, el XML no desaparezca nunca de la informática, pero en la web yo diría que ya nadie plantea un nuevo proyecto basándose en XML (y aplicaciones basadas en XML como RSS han sido eliminadas de los navegadores).
En el año 2000 el W3C impulsó otra iniciativa todavía más ambiciosa denominada Web Semántica, que pretendía crear una web de datos y significados procesables automáticamente y que no llegó a ninguna parte. En 2013 el W3C ya había cerrado todos los grupos de trabajo relacionados con la Web Semántica, que languidece como tema de investigación en entornos académicos (que yo sepa).
Ante la negativa del W3C a recuperar el HTML "clásico" (no basado en XML), Mozilla, Apple y Opera crearon en 2004 el WHATWG que empezó a redactar el HTML 5. En 2007 el W3C aceptó recuperar el HTML, trabajando a partir de los borradores del WHATWG, en 2011 W3C aceptó el fracaso del XHTML y en 2015 publicó la recomendación HTML 5.0. Aunque llegaron a publicarse las recomendaciones HTML 5.1 en 2016 y HTML 5.2 en 2017, el WHATWG no se disolvió y ha seguido dirigiendo el desarrollo del HTML. Finalmente, en 2019 el W3C decidió abandonar todo trabajo sobre el HTML y otras tecnologías asociadas y dejarlo en manos del WHATWG, en el que ya participaban también Google y Microsoft.
Con respecto a las hojas de estilo, estas no han dejado de desarrollarse nunca en el seno del W3C. pero las hojas de estilo también sufrieron un parón a partir del año 2000 y en este caso el motivo principal fue sin duda el boicot de Microsoft a la recomendación CSS 2, implementando incorrectamente la recomendación o directamente no implementándola. Hasta que Firefox no empezó a tener cuota de mercado, Microsoft no dio su brazo a torcer, pero no fue hasta 2009 que Internet Explorer 8 cumplió de forma significativa CSS 2.
En 2010 el W3C retomó el desarrollo de las hojas de estilo, pero decidieron trocear la recomendación en un gran número de pequeñas recomendaciones que tratan temas específicos. Esas recomendaciones se suelen denominar en general CSS nivel 3, pero en algunos ya existen borradores de niveles 4 o 5 y algunas partes están todavía en su nivel 1. Además, el W3C ha abandonado parcialmente su modelo de publicación de recomendaciones, acercándose al modelo continuo que cada vez está más extendido en la informática. Así el grupo de trabajo del W3C publica nuevas versiones de los borradores de las recomendaciones a medida que se trabaja en ellos. Para aclarar al público en general el estado de madurez de cada recomendación, el W3C publica desde hace unos años (y la intención parece ser hacerlo regularmente a finales de cada año) una recomendación llamada CSS Snapshot que establece la definición oficial de CSS.
En 2022 el organismo que define el HTML es el WHATWG, cuya norma se desarrolla desde 2011 de forma continua, sin número de versiones: HTML Living Standard.
En 2022 el organismo que define las CSS es el W3C, cuyas normas (recomendaciones) se desarrollan desde 2010 de forma troceada y cada vez más continua. En 2022, la definición oficial de CSS que se encuentra en la recomendación CSS Snapshot 2021 (diciembre de 2021) está formada por las partes de la antigua recomendación CSS 2.1 (2011) que no han sido publicadas en nuevas recomendaciones, diez CSS de nivel 3 ya aprobadas y catorce borradores de recomendaciones que aunque no están oficialmente aprobadas se consideran suficientemente maduras e implementadas en los navegadores.
La tabla siguiente muestra las recomendaciones y los borradores de recomendaciones que se han ido incorporando a la definición oficial de CSS en sucesivas recomendaciones CSS Snapshot, cuya última versión es actualmente (mayo de 2022) CSS Snapshot 2021 (diciembre de 2021).
Las recomendaciones y borradores se agrupan en tres grupos:
Grupo | Última versión publicada |
Nombre | Incluidas en CSS Snapshot | ||||
---|---|---|---|---|---|---|---|
2021 21/12/2021 |
2020 22/12/2020 |
2018 22/01/2019 |
2017 31/01/2017 |
2015 13/10/2015 |
|||
RET | REC 11/02/2021 | CSS Cascading and Inheritance Level 3 | SUSTITUIDA | SUSTITUIDA | 2018 CSS | 2017 CSS | 2015 CSS |
REC |
REC 07/06/2011 | CSS 2.1 | 2021 CSS | 2020 CSS | 2018 CSS | 2017 CSS | 2015 CSS |
REC 05/04/2022 | Media Queries Level 3 (2ª ed) | 2021 CSS | 2020 CSS | 2018 CSS | 2017 CSS | 2015 CSS | |
REC 05/08/2021 | CSS Color Module Level 3 (4ª ed) | 2021 CSS | 2020 CSS | 2018 CSS | 2017 CSS | 2015 CSS | |
REC 22/12/2020 | CSS Containment Module Level 1 (2ª ed) | 2021 CSS | 2020 CSS | 2018 ELA++ | |||
REC 10/12/2019 | CSS Writing Modes Level 3 | 2021 CSS | 2020 CSS | 2018 CSS | 2017 CSS | ||
REC 06/11/2018 | Selectors Level 3 (2ª ed) | 2021 CSS | 2020 CSS | 2018 CSS | 2017 CSS | 2015 CSS | |
REC 20/09/2018 | CSS Fonts Module Level 3 | 2021 CSS | 2020 CSS | 2018 CSS | 2017 CSS | 2015 CSS | |
REC 21/06/2018 | CSS Basic User Interface Module Level 3 | 2021 CSS | 2020 CSS | 2018 CSS | 2017 CSS | 2015 CSS | |
REC 20/03/2014 | CSS Namespaces Module Level 3 (2ª ed) | 2021 CSS | 2020 CSS | 2018 CSS | 2017 CSS | 2015 CSS | |
REC 07/11/2013 | CSS Style Attributes | 2021 CSS | 2020 CSS | 2018 CSS | 2017 CSS | 2015 CSS | |
NO REC |
CRS 13/01/2022 | CSS Conditional Rules Module Level 3 | 2021 CSS | 2020 CSS | 2018 CSS | 2017 CSS | 2015 CSS |
WD 13/01/2022 | CSS Cascading and Inheritance Level 4 | 2021 CSS | 2020 CSS | 2018 ELA++ | |||
CR 24/12/2021 | CSS Syntax Module Level 3 | 2021 CSS | 2020 CSS | 2018 CSS | 2017 CSS | 2015 CSS | |
CRD 11/11/2021 | CSS Custom Properties for Cascading Variables Module Level 1 | 2021 CSS | 2020 CSS | 2018 CSS | 2017 ELA | ||
CRS 12/10/2021 | CSS Multi-column Layout Level 1 | 2021 CSS | 2020 CSS | 2018 CSS | 2017 CSS | 2015 CSS | |
CRS 27/07/2021 | CSS Counter Styles Level 3 | 2021 CSS | 2020 ELA++ | 2018 ELA++ | 2017 ELA++ | 2015 ELA++ | |
CR 26/07/2021 | CSS Backgrounds and Borders Module Level 3 | 2021 CSS | 2020 CSS | 2018 CSS | 2017 CSS | 2015 CSS | |
CRD 01/04/2021 | CSS Easing Functions Level 1 | 2021 CSS | 2020 CSS | ||||
CRS 22/12/2020 | CSS Box Model Module Level 3 | 2021 CSS | 2020 CSS | ||||
CRD 17/12/2020 | CSS Images Module Level 3 | 2021 CSS | 2020 CSS | 2018 CSS | 2017 CSS | 2015 CSS | |
CR 06/06/2019 | CSS Values and Units Module Level 3 | 2021 CSS | 2020 CSS | 2018 CSS | 2017 CSS | 2015 CSS | |
CR 14/02/2019 | CSS Transforms Module Level 1 | 2021 CSS | 2020 CSS | 2018 CSS | 2017 ELA | 2015 ELA | |
CR 19/11/2018 | CSS Flexible Box Layout Module Level 1 | 2021 CSS | 2020 CSS | 2018 CSS | 2017 ELA | 2015 ELA | |
CR 13/01/2015 | CSS Compositing and Blending Level 1 | 2021 CSS | 2020 CSS | 2018 CSS | 2017 CSS | 2015 CSS |
La tabla siguiente muestra los borradores de recomendaciones que se citan en CSS Snapshot, pero que todavía no se consideran lo suficientemente maduras como para formar parte de la definición oficial.
Los borradores se agrupan en dos grupos:
Existe un grupo todavía mayor de casi 50 borradores de recomendaciones que no se nombran en CSS Snaphost 2021 y que por ese motivo no se listan aquí.
Grupo | Última versión publicada |
Nombre | Incluidas en CSS Snapshot | ||||
---|---|---|---|---|---|---|---|
2021 21/12/2021 |
2020 22/12/2020 |
2018 22/01/2019 |
2017 31/01/2017 |
2015 13/10/2015 |
|||
ELA++ |
CR 05/05/2022 | CSS Text Decoration Module Level 3 | 2021 ELA++ | 2020 ELA++ | 2018 ELA++ | 2017 ELA++ | 2015 ELA++ |
CRS 05/05/2022 | CSS Text Module Level 3 | 2021 ELA++ | 2020 ELA++ | 2018 ELA | 2017 ELA | ||
WD 28/04/2022 | CSS Color Module Level 4 | 2021 ELA++ | 2020 ELA++ | ||||
CRD 25/12/2021 | Media Queries Level 4 | 2021 ELA++ | 2020 ELA++ | 2018 ELA++ | |||
WD 24/11/2021 | CSS Box Alignment Module Level 3 | 2021 ELA++ | 2020 ELA++ | 2018 ELA++ | 2017 ELA++ | ||
CRD 09/12/2021 | CSS Scrollbars Styling Module Level 1 | 2021 ELA++ | |||||
CRD 03/09/2021 | CSS Display Module Level 3 | 2021 ELA++ | 2020 ELA++ | ||||
CRD 05/08/2021 | CSS Masking Module Level 1 | 2021 ELA++ | 2020 ELA++ | 2018 ELA++ | 2017 ELA++ | 2015 ELA++ | |
CRS 11/03/2021 | CSS Scroll Snap Module Level 1 | 2021 ELA++ | 2020 ELA++ | 2018 ELA++ | |||
CR 10/03/2020 | CSS Speech Module | 2021 ELA++ | 2020 ELA++ | 2018 ELA++ | 2017 ELA++ | 2015 ELA++ | |
CR 30/07/2019 | CSS Writing Modes Level 4 | 2021 ELA++ | 2020 ELA++ | ||||
CR 04/12/2018 | CSS Fragmentation Module Level 3 | 2021 ELA++ | 2020 ELA++ | 2018 ELA++ | 2017 ELA++ | ||
CR 20/03/2014 | CSS Shapes Module Level 1 | 2021 ELA++ | 2020 ELA++ | 2018 ELA++ | 2017 ELA++ | 2015 ELA++ | |
ELA |
CR 05/05/2022 | CSS Will Change Module Level 1 | 2021 ELA | 2020 ELA | 2018 ELA | 2017 ELA++ | |
WD 21/12/2021 | CSS Fonts Module Level 4 | 2021 ELA | |||||
WD 17/12/2021 | CSS Box Sizing Module Level 3 | 2021 ELA | 2020 ELA++ | ||||
WD 16/12/2021 | CSS Positioned Layout Module Level 3 | 2021 ELA | |||||
WD 09/11/2021 | CSS Transforms Module Level 2 | 2021 ELA | |||||
WD 18/05/2021 | Web Animations | 2021 ELA | |||||
CRD 18/12/2020 | CSS Grid Layout Module Level 1 | 2021 ELA | 2020 ELA | 2018 ELA | 2017 ELA++ | ||
CRD 18/12/2020 | CSS Grid Layout Module Level 2 | 2021 ELA | 2020 ELA | ||||
WD 17/11/2020 | CSS Lists and Counters Module Level 3 | 2021 ELA | |||||
WD 18/12/2018 | Filter Effects Module Level 1 | 2021 ELA | 2020 ELA | 2018 ELA | 2017 ELA++ | ||
WD 11/10/2018 | CSS Transitions | 2021 ELA | 2020 ELA | 2018 ELA | 2017 ELA | 2015 ELA | |
WD 11/10/2018 | CSS Animations Level 1 | 2021 ELA | 2020 ELA | ||||
WD 27/08/2018 | CSS Logical Properties and Values Level 1 | 2021 ELA | |||||
WD 22/05/2014 | CSS Font Loading Module Level 3 | 2021 ELA | 2020 ELA |