Historia de HTML, CSS, JavaScript

  • Los orígenes de HTML

    Los antecedentes de HTML se encuentran en dos sistemas previos de vinculación de documentos electrónicos: los hipervínculos, también conocidos como enlaces, y el SGML, un lenguaje de marcado. En 1989, Tim Berners-Lee, un investigador del CERN (la Organización Europea para la Investigación Nuclear), anunció que estaba desarrollando un nuevo sistema de hipertexto destinado a compartir documentos.
  • HTML 1

    En 1991, se publicó formalmente el primer documento que describía HTML, titulado "HTML Tags". Dos años más tarde, en 1993, el IETF (Internet Engineering Task Force) presentó una propuesta para que HTML se convirtiera en un estándar. Aunque ni la versión original de HTML ni HTML+ lograron establecerse como estándares oficiales, sus contribuciones fueron cruciales, ya que introdujeron etiquetas fundamentales para la creación de tablas, imágenes y formularios.
  • HTML 2

    A finales de 1993, comenzó el desarrollo de la segunda versión de HTML, conocida como HTML+. La intención inicial era crear un superconjunto de HTML que evolucionara gradualmente a partir de la versión original. La primera propuesta oficial de HTML+ fue etiquetada como versión 2 para diferenciarla de otras propuestas anteriores que no eran oficiales.
  • Idea inicial de CSS

    Håkon Wium Lie, un ingeniero de la W3C, propone por primera vez la idea de las hojas de estilo en cascada (CSS) como una forma de separar la presentación visual del contenido en los documentos HTML.
  • Creación de JavaScript

    Netscape introduce JavaScript (inicialmente llamado LiveScript) para agregar interactividad a las páginas web. Brendan Eich lo desarrolla en solo diez días.
  • HTML3

    A partir de 1996, el W3C (World Wide Web Consortium) comenzó a publicar los estándares de HTML. HTML 3.0 se presentó como borrador en 1995, introduciendo nuevas funcionalidades como tablas, texto alrededor de figuras y elementos matemáticos. HTML 3.1 nunca se propuso oficialmente, por lo que HTML 3.2 fue el siguiente estándar. El W3C, dirigido por Tim Berners-Lee, gestiona los estándares y recomendaciones, siguiendo un proceso de cuatro niveles de aprobación.
  • Publicación de la primera versión de JavaScript

    Netscape presenta JavaScript 1.0, la primera versión del lenguaje. Esta versión inicial proporciona funcionalidades básicas para scripting en el navegador, como la manipulación del Document Object Model (DOM), permitiendo a los desarrolladores modificar el contenido y la estructura de las páginas web en tiempo real.
  • Lanzamiento de CSS1

    El W3C publica la primera versión de CSS, conocida como CSS1. Esta especificación permite el control básico sobre el estilo del texto, fuentes, color, y la disposición de los elementos en una página web.
  • Estandarización como ECMAScript

    ECMA International adopta JavaScript como el estándar ECMAScript (ES1). Esta estandarización formaliza el lenguaje y establece una base para su desarrollo futuro, asegurando que diferentes implementaciones de JavaScript sean compatibles entre sí y proporcionando una especificación para su uso en diversos entornos.
  • HTML 4

    En 1997, siguiendo la recomendación del W3C, se lanzó HTML 4.0, una versión que introdujo mejoras significativas, como la integración de hojas de estilos CSS, una mayor accesibilidad para las páginas web, tablas más complejas, la posibilidad de incluir pequeños programas o scripts, y mejoras en los formularios. En 1999 se presentó HTML 4.01, la última versión oficial de HTML, que fue una revisión de la anterior sin grandes novedades.
  • ECMAScript 2

    Se publica ECMAScript 2, que incluye correcciones y ajustes menores respecto a la primera versión. Esta actualización mantiene la compatibilidad con el estándar original y se enfoca en refinar y consolidar las características existentes.
  • Introducción de CSS2

    Se lanza CSS2, que amplía significativamente las capacidades de CSS1. Introduce la posibilidad de posicionar elementos de manera más precisa, gestionar el diseño de impresiones, y ofrece soporte para diferentes tipos de medios (pantalla, impresión, etc.).
  • Introducción de ECMAScript 3

    ECMAScript 3 es lanzado, trayendo mejoras significativas al lenguaje. Esta versión incluye la introducción de expresiones regulares para búsqueda y manipulación de texto, un manejo más robusto de excepciones para la gestión de errores, y nuevas funcionalidades para trabajar con cadenas y arrays, mejorando así la capacidad de JavaScript para desarrollar aplicaciones más complejas.
  • Soporte de Navegadores

    Los principales navegadores web, como Internet Explorer 5 y Netscape 6, comienzan a ofrecer soporte parcial para CSS2, aunque con muchas inconsistencias y problemas de compatibilidad.
  • Comienzo del desarrollo de CSS3

    El W3C inicia el trabajo en CSS3, que se desarrolla en módulos independientes, permitiendo que cada módulo avance y se implemente de manera separada.
  • HTML5

    Desde entonces, el W3C se enfocó en desarrollar el estándar XHTML. Sin embargo, en 2004, compañías como Mozilla, Opera y Apple formaron la WHATWG (Web Hypertext Application Technology Working Group) para trabajar en el estándar HTML5. A raíz de la presión ejercida por este grupo, el W3C decidió reanudar su labor en la estandarización de HTML.
  • Popularización de Ajax

    Ajax (Asynchronous JavaScript and XML) se convierte en una técnica ampliamente utilizada, permitiendo a las aplicaciones web actualizar partes de una página sin necesidad de recargarla completamente. Esto marca el inicio de una nueva era en la web, donde las aplicaciones pueden ofrecer una experiencia de usuario mucho más dinámica e interactiva.
  • Lanzamiento de ECMAScript 5

    ECMAScript 5 se publica, introduciendo una serie de mejoras importantes en el lenguaje. Entre sus novedades destacan los métodos avanzados para arrays como forEach, map y filter, así como el modo estricto (strict mode) que ayuda a escribir código más seguro y libre de errores, y la capacidad para definir propiedades de objetos de manera más controlada.
  • Aparición de Node.js

    Node.js es creado por Ryan Dahl, permitiendo ejecutar JavaScript en el lado del servidor. Este desarrollo amplía el uso de JavaScript más allá del navegador y facilita la creación de aplicaciones de red escalables, marcando un cambio importante en el ecosistema del desarrollo web.
  • Adopción de CSS3

    CSS3 comienza a ser ampliamente aceptado por navegadores modernos como Firefox, Chrome y Safari, introduciendo nuevas funcionalidades como animaciones, transformaciones, transiciones y fuentes personalizadas
  • ECMAScript 5.1

    Se publica ECMAScript 5.1, consolidando y refinando las características introducidas en ECMAScript 5. Esta versión incluye algunas actualizaciones menores y mejora la especificación para asegurar una mayor consistencia y compatibilidad entre implementaciones.
  • Publicación oficial de CSS3

    Aunque CSS3 no se lanza como un solo estándar, muchos de sus módulos alcanzan la madurez y se consideran estándares recomendados por el W3C. Los desarrolladores comienzan a utilizar ampliamente sus nuevas funcionalidades.
  • HTML 5.2

    Se presentó la versión final, el HTML 5.2.
  • ECMAScript 6 (ES6)

    ECMAScript 6, también conocido como ECMAScript 2015, es lanzado con una serie de adiciones significativas que modernizan el lenguaje. Entre las nuevas características se encuentran las clases para una programación orientada a objetos más clara, módulos para una mejor organización del código, y nuevas formas de definir variables (let y const), funciones de flecha (=>), y promesas para el manejo de operaciones asíncronas.
  • CSS Grid y Flexbox

    Se estabilizan e implementan en la mayoría de los navegadores las técnicas de CSS Grid y Flexbox, que ofrecen potentes herramientas para el diseño de páginas web complejas y responsivas.
  • Mejoras continuas

    Durante estos años, las versiones anuales de ECMAScript (2016 a 2020) introducen nuevas funcionalidades y mejoras al lenguaje. Entre las adiciones notables se incluyen el operador de exponentes (**), que simplifica las operaciones matemáticas, la capacidad de usar async/await para un manejo más sencillo de la programación asíncrona, el método Object.entries() para trabajar con objetos, y String.prototype.padStart() para el manejo de cadenas.
  • ECMAScript 2021

    ECMAScript 2021 introduce nuevas características como el operador de asignación condicional (&&=), que simplifica la lógica de asignación, y WeakRefs, que permite referencias débiles a objetos para la recolección de basura más eficiente. Estas actualizaciones continúan mejorando la capacidad de JavaScript para desarrollar aplicaciones robustas y eficientes.
  • ECMAScript 2022

    ECMAScript 2022 agrega nuevas funcionalidades como el método Object.hasOwn(), que simplifica la verificación de propiedades propias en objetos, y Array.at(), que permite acceder a elementos de arrays usando índices negativos. Estas actualizaciones reflejan la continua evolución de JavaScript para adaptarse a las necesidades modernas de desarrollo web.
  • Evolución y Nuevas Características

    CSS sigue evolucionando con la adición de nuevas características como subgrid, aspect-ratio, y mejoras en la compatibilidad con variables y funciones, consolidando CSS como un pilar esencial en el desarrollo web moderno.