Lección 10 de 1510 min
Estándares web
W3C, WHATWG, IETF y TC39: quién define la web, cómo evoluciona y dónde consultar si algo funciona.
Tu web funciona igual en Chrome, Firefox o Safari, en un móvil o en un portátil, sin que tengas que escribir una versión para cada uno. No es casualidad: detrás hay estándares abiertos, especificaciones públicas que cualquiera puede leer e implementar.
¿Por qué hacen falta estándares?
En los años 90, Netscape e Internet Explorer competían añadiendo cada uno sus propias funciones incompatibles. Era la «guerra de los navegadores». Muchas webs mostraban carteles como «Se ve mejor con Internet Explorer» y funcionaban mal, o directamente no funcionaban, en el resto.
Los estándares resolvieron ese problema. Hoy los fabricantes de navegadores se ponen de acuerdo antes de lanzar algo, y el objetivo es la interoperabilidad: que el mismo código haga lo mismo en todas partes.
Quién escribe las reglas
No hay un único organismo. Cada pieza de la web tiene su casa:
- WHATWG: mantiene HTML, el DOM, Fetch, URL y otros estándares «vivos». Lo dirigen los fabricantes de navegadores: Apple, Google, Mozilla y Microsoft.
- W3C (World Wide Web Consortium): fundado por Tim Berners-Lee en 1994. Hoy es la casa de CSS, de las pautas de accesibilidad WCAG y de muchas API.
- IETF (Internet Engineering Task Force): define los protocolos de Internet, como HTTP, TLS, DNS o TCP/IP, en documentos llamados RFC.
- Ecma TC39: el comité que evoluciona JavaScript, cuyo nombre oficial es ECMAScript.
- Consorcio Unicode: decide qué caracteres existen y cómo se codifican, de la letra ñ a los emoji.
Interactivo
¿Quién define qué?
Selecciona una tecnología y colócala en la organización que la estandariza.
WHATWG
Apple, Google, Mozilla, Microsoft
W3C
World Wide Web Consortium
IETF
Internet Engineering Task Force
Ecma TC39
Comité técnico 39 de Ecma
Unicode
Consorcio Unicode
Cómo nace una nueva característica
Las novedades no aparecen de un día para otro. Siguen un proceso público, discutido abiertamente en GitHub y en listas de correo:
- Alguien plantea un problema y propone una solución.
- Se debate y se redacta una especificación lo bastante precisa como para que dos equipos independientes la implementen igual.
- Los navegadores la implementan, a menudo primero detrás de una opción experimental, y se escriben pruebas compartidas.
- Cuando hay implementaciones compatibles en varios motores, se considera estable.
En JavaScript, por ejemplo, TC39 usa un sistema de fases (de la 0 a la 4). Una propuesta solo entra en el estándar al llegar a la fase 4, cuando ya funciona en navegadores reales.
Nota
Cada estándar se versiona a su manera. HTML es un Living Standard: se actualiza continuamente y no habrá un «HTML6». CSS se divide en módulos que avanzan por separado, así que tampoco existe un «CSS4». ECMAScript, en cambio, publica una edición cada año: ES2015, ES2016, etcétera.
Motores de navegador
Aunque hay muchos navegadores, casi todos usan uno de tres motores, la pieza que interpreta HTML y CSS:
- Blink: Chrome, Edge, Opera, Brave, Samsung Internet…
- Gecko: Firefox.
- WebKit: Safari. Por las normas de Apple, en iPhone y iPad casi todos los navegadores usan WebKit por debajo.
¿Puedo usarlo ya?
Antes de usar una característica nueva, conviene comprobar dónde funciona:
- MDN Web Docs: la documentación de referencia de la web, con tablas de compatibilidad.
- Can I use: busca cualquier característica y mira en qué versiones de cada navegador funciona.
- Baseline: una etiqueta que verás en MDN y otras webs. «Recién disponible» significa que ya funciona en Chrome, Edge, Firefox y Safari; «ampliamente disponible», que lleva al menos 30 meses en todos ellos.
¿Sabías que…?
La regla de oro de la web es «no romper la web»: una página de 1996 debe seguir funcionando hoy. En 2018 iba a añadirse a JavaScript un método llamado flatten, pero rompía webs antiguas que usaban la librería MooTools. Se rebautizó como flat. Por la misma razón, el famoso error de typeof null === "object" nunca se podrá corregir.
Una breve historia de la web
1989
Tim Berners-Lee propone en el CERN un sistema de documentos enlazados: la World Wide Web.
1991
Se publica el primer sitio web, en info.cern.ch.
1993
El CERN libera la web al dominio público. Llega Mosaic, el primer navegador popular con imágenes.
1994
Se funda el W3C para coordinar los estándares de la web.
1995
Brendan Eich crea JavaScript en Netscape, en unos diez días.
1996
CSS nivel 1 se convierte en recomendación del W3C.
1997
Se publica ECMAScript 1, el primer estándar de JavaScript.
2004
Apple, Mozilla y Opera fundan el WHATWG para hacer evolucionar HTML.
2008
Primer borrador de HTML5. Ese mismo año se lanza Google Chrome.
2015
ECMAScript 2015 (ES6) transforma JavaScript; desde entonces sale una edición al año. HTTP/2 se publica como RFC 7540.
2019
W3C y WHATWG acuerdan que el HTML y el DOM del WHATWG son el estándar único.
2022
HTTP/3, sobre QUIC, se publica como RFC 9114.
2023
Nace Baseline, una etiqueta para saber si una característica funciona en todos los navegadores principales.
Comprueba lo aprendido
Cuestionario
Responde las 5 preguntas para completar la lección.
1.¿Quién mantiene el estándar de HTML que siguen hoy los navegadores?
2.¿Con qué nombre se estandariza JavaScript, y quién lo hace?
3.¿Dónde se definen protocolos como HTTP, TLS o DNS?
4.¿Qué significa que HTML sea un «Living Standard»?
5.Una característica aparece como «Baseline: ampliamente disponible». ¿Qué significa?