39 puntos por GN⁺ 2025-05-29 | 10 comentarios | Compartir por WhatsApp
  • Con motivo del 30.º aniversario de JavaScript este año, Deno resumió brevemente su historia hasta ahora
  • JavaScript comenzó como un lenguaje de scripting desarrollado en solo 10 días y hoy se ha consolidado como el lenguaje más popular del mundo
  • Se presentan algunos momentos históricos clave que muestran cómo ha evolucionado JavaScript y hacia dónde se dirige en el futuro

A brief history of JavaScript (1994-2025)

[1994]

  • Lanzamiento de Netscape Navigator 1.0

    • En diciembre de 1994 se lanzó Netscape Navigator 1.0
    • Su mayor velocidad frente a navegadores anteriores y su interfaz gráfica fueron factores clave de su popularidad
    • Con soporte para HTML 2.0, sentó la base para que JavaScript pudiera ejecutarse más adelante en este navegador

[1995]

  • Nacimiento de JavaScript

    • En mayo de 1995, Brendan Eich desarrolló el primer borrador de JavaScript en solo 10 días
    • Fue creado a partir de la solicitud de un lenguaje de scripting con una sintaxis similar a la de Java, que era popular en ese momento
    • El nombre JavaScript se decidió con fines de marketing
  • Anuncio oficial de Netscape y Sun

    • En diciembre de 1995, JavaScript fue presentado como un “lenguaje de scripting orientado a objetos y liviano para la web”
    • Se anunció con el respaldo de 28 empresas tecnológicas y se posicionó como un lenguaje pensado incluso para entornos empresariales

[1996]

  • Respuesta de Microsoft

    • En marzo de 1996, Microsoft incorporó JScript en Internet Explorer 3
    • JScript se integraba con ActiveX y permitía controlar aplicaciones como Excel
  • Lanzamiento de Navigator 2.0 con JavaScript 1.0

    • Ese mismo marzo, JavaScript 1.0 debutó oficialmente en Netscape Navigator 2.0
    • El concepto de DOM (Document Object Model) comenzó en este momento

[1997]

  • Propuesta de estandarización ante ECMA

    • En junio de 1997, Netscape propuso la estandarización de JavaScript ante ECMA International
    • El objetivo era resolver los problemas de compatibilidad con JScript de Microsoft
    • Se creó la especificación ECMA-262 y se definió el nombre ECMAScript
    • Se formó el comité TC39, que comenzó a gestionar la evolución del lenguaje

[1998]

  • Nacimiento del proyecto Mozilla

    • En enero de 1998, Netscape abrió su código fuente para responder al monopolio de Microsoft en el mercado de navegadores
    • El proyecto recibió el nombre de “Mozilla” y más adelante dio lugar a diversos logros de código abierto como Firefox y Rust
  • Anuncio de ECMAScript 2

    • En septiembre de 1998 se anunció oficialmente ECMAScript 2
    • No incorporó funciones nuevas, pero su objetivo principal fue la consistencia de la especificación y una documentación más depurada

[1999]

  • IE5 y la introducción de XMLHttpRequest

    • En marzo de 1999, IE5 introdujo XMLHttpRequest
    • Esto se convertiría más adelante en la base de la tecnología AJAX
  • Aparición de JSDoc

    • En abril de 1999 se introdujo JSDoc para la documentación de JavaScript
    • Estuvo influido por Javadoc de Java y todavía se usa como herramienta de generación de documentación
  • Anuncio de ECMAScript 3

    • En diciembre de 1999 se anunció oficialmente ECMAScript 3
    • Con la incorporación de do-while, expresiones regulares, métodos de cadena y manejo de excepciones, sentó las bases del crecimiento real del lenguaje
    • Después se utilizó durante más de 10 años como el estándar de facto de JavaScript para la web

[2001]

  • Primera aparición de JSON

    • Se transmitió el primer mensaje JSON
    • Dentro de scripts en páginas web se usó una estructura de objeto con la forma { to, do, text }
    • Como formato de mensajería liviano basado en JavaScript, luego se convirtió en el estándar para la comunicación con APIs web

[2002]

  • Introducción de JSLint

    • Douglas Crockford presentó la herramienta de análisis sintáctico estático JSLint
    • Ayudó a mejorar la calidad del código JavaScript y más adelante dio pie a su libro “JavaScript: The Good Parts”
  • Lanzamiento de Phoenix 0.1, antecesor de Firefox

    • La comunidad de Mozilla desarrolló el navegador liviano Phoenix en respuesta al peso de la línea de productos existente
    • Ofrecía funciones innovadoras como navegación por pestañas y bloqueo de ventanas emergentes → más adelante evolucionó a Firefox

[2003]

  • Apple presenta Safari y WebKit

    • La introducción del navegador Safari y el motor WebKit permitió a Mac reducir su dependencia de Microsoft
    • Más adelante se convirtió en la base de Mobile Safari en el iPhone

[2004]

  • Gmail y AJAX

    • La interfaz basada en AJAX de Gmail marcó un nuevo estándar de UX para las aplicaciones web
    • Intercambio de datos con el servidor sin recargar toda la página → comienzo de la era Web 2.0

[2005]

  • Consolidación del término AJAX

    • Jesse James Garrett formalizó el concepto de “AJAX”
    • A través de la combinación de JavaScript + XML, se estableció una arquitectura de comunicación asíncrona con el servidor
  • Nace Mozilla DevMo → luego evoluciona a MDN

    • Comenzó MDN, el centro de documentación de JavaScript basado en estándares
    • Ofreció una referencia unificada frente a la documentación fragmentada sobre compatibilidad entre navegadores

[2006]

  • Aparición de jQuery

    • John Resig inició el proyecto jQuery
    • Contribuyó enormemente a resolver problemas de compatibilidad entre navegadores en manipulación del DOM, manejo de eventos y AJAX
    • Su API concisa impulsó una adopción explosiva

[2007]

  • Lanzamiento del iPhone y falta de soporte para Flash

    • Apple presentó el iPhone y Safari no era compatible con Flash
    • Esto aceleró la transición en entornos móviles hacia contenido basado en HTML + JavaScript

[2008]

  • Fin oficial de Netscape Navigator

    • AOL puso fin al desarrollo de Netscape, lo que marcó el cierre de la primera guerra de navegadores
    • El monopolio de IE por parte de Microsoft llevó a demandas antimonopolio
  • Publicación de JavaScript: The Good Parts

    • El libro de Crockford sirvió como punto de inflexión para revalorar JavaScript como un lenguaje de desarrollo profesional
  • Anuncio de Google Chrome y del motor V8

    • Con el lanzamiento de Chrome, se presentó el motor JavaScript V8
    • Gracias a la compilación JIT y la optimización del recolector de basura, el rendimiento mejoró drásticamente
    • Más adelante sentó las bases para la expansión al lado del servidor, como Node.js

[2009]

  • Aparición de CommonJS

    • Se intentó estandarizar el uso de código JS modularizado fuera del navegador, como en servidores
    • Esto más adelante se convirtió en la base de la estructura de módulos del ecosistema Node.js
  • Inicio del proyecto Node.js

    • Ryan Dahl comenzó el desarrollo de Node.js
    • Permitió ejecutar JavaScript en entornos de servidor y lo expandió como lenguaje full stack
  • Oracle adquiere Sun Microsystems

    • Junto con Java, la marca registrada JavaScript también pasó a Oracle
    • Esto generó problemas de marca alrededor del nombre JavaScript
  • Aparición de Express.js

    • Se hizo el primer commit de Express.js, un framework web basado en Node.js
    • Propuso una estructura de middleware centrada en la construcción de APIs REST
  • Anuncio de ECMAScript 5

    • Con strict mode, soporte para JSON y nuevos métodos de Array, se ordenaron las bases de las funciones modernas de JS
  • Aparición de CoffeeScript

    • Fue un experimento de mejora sintáctica previo a ES6 con sintaxis concisa, funciones flecha y desestructuración
    • Más adelante influyó de manera indirecta en la evolución de la sintaxis de JavaScript

[2010]

  • Lanzamiento de npm 1.0

    • El gestor de paquetes para JavaScript npm se lanzó oficialmente y comenzó la estandarización del intercambio y la reutilización de código
    • Hoy ha crecido hasta convertirse en el registro de código abierto más grande del mundo, con más de 3 millones de paquetes
  • Lanzamiento de WebStorm 1.0

    • JetBrains lanzó el primer IDE dedicado exclusivamente a JavaScript
    • Ofrecía de forma integrada funciones de análisis estático, detección de errores, autocompletado y depuración
  • Aparición de AngularJS & Backbone.js

    • Inicio del auge de los frameworks SPA
    • Angular se centraba en lo declarativo/la inyección de dependencias, mientras que Backbone se centraba en lo procedimental/la simplicidad
    • Desde esta época empezó a notarse el fenómeno de la aparición y desaparición frecuente de frameworks ("Framework churn")

[2011]

  • Port de Node.js a Windows

    • Gracias a la colaboración entre Joyent y Microsoft, Node.js pasó a funcionar también en Windows
    • Desarrollo de la biblioteca libuv → ofreció una plataforma unificada de I/O asíncrono
    • El inicio del camino open source de MS que después continuó con TypeScript, VSCode y la estrategia de Azure

[2012]

  • Aparición de Webpack

    • Como herramienta de bundling de recursos web, extendió el sistema de módulos al cliente
    • Después fue adoptado como sistema de build clave en React, Angular, Vue y otros
  • Lanzamiento de TypeScript 0.8

    • Microsoft presentó un superset de JavaScript basado en tipos estáticos
    • Ofreció una estructura adecuada para proyectos grandes y después influyó en el estándar ES

[2013]

  • Inicio de Atom Shell, precursor de Electron

    • Hizo posible desarrollar apps de escritorio con HTML/CSS/JS
    • Su adopción en Slack, Visual Studio Code y otros cambió la forma de desarrollar software de escritorio
  • Publicación de asm.js

    • Permitió cómputo de alto rendimiento dentro del navegador al convertir código C/C++ a JS
    • Más adelante evolucionó hacia WebAssembly
  • Definición del stack MEAN

    • Se nombró la combinación MongoDB + Express + Angular + Node.js
    • Se expandió el desarrollo full stack basado en JavaScript
  • Publicación de React

    • Facebook lo liberó como open source tras usarlo internamente
    • Se consolidó el paradigma de desarrollo de UI basado en componentes
  • Inicio del desarrollo de ESLint

    • Herramienta de linting extensible iniciada por Nicholas C. Zakas
    • Se difundió rápidamente gracias a su mayor capacidad de personalización frente a linters anteriores
  • Lanzamiento de Gulp

    • A diferencia de Grunt, centrado en configuración, era una herramienta de build basada en código y streaming
    • Impulsó la automatización de tareas de build con JavaScript

[2014]

  • Lanzamiento de Vue.js

    • Framework de UI progresivo presentado por Evan You
    • Combinó la UI declarativa de React con las capacidades de plantillas de Angular
  • Adquisición de Express.js

    • StrongLoop adquirió Express.js → después StrongLoop fue adquirida por IBM
    • Las preocupaciones por la independencia de la comunidad llevaron a la aparición de frameworks posteriores como Koa
  • Inicio de Babel.js (antes 6to5)

    • Permitió ejecutar sintaxis moderna de JS incluso en navegadores antiguos
    • Se estableció como el transpiler estándar de todos los frameworks
  • Lanzamiento de Meteor 1.0

    • Llamó la atención como herramienta para desarrollar web apps en tiempo real y de stack único
    • Más adelante influyó en tecnologías en tiempo real como GraphQL y Firebase
  • Facebook publica Flow

    • Herramienta de verificación de tipos estáticos para detectar errores de JS con anticipación
    • Más tarde su uso disminuyó por el crecimiento de TypeScript
  • Anuncio de AWS Lambda

    • Introdujo la computación serverless basada en JavaScript (Node.js)
    • Hizo posible implementar backends sin gestionar infraestructura mediante la ejecución de funciones basada en eventos
  • Bifurcación de io.js

    • La comunidad bifurcó io.js en respuesta al lento ritmo de lanzamientos de Node.js bajo Joyent
    • Más tarde, en 2015, volvió a integrarse en Node.js

[2015]

  • Aparición del término Jamstack

    • Se enfatizó la combinación JavaScript + API + Markup
    • Con el auge de SSR y SSG, también surgieron con fuerza los generadores de sitios estáticos
  • Fundación de Node.js Foundation

    • Se reorganizó la gobernanza de la comunidad, incluida la integración con io.js
    • Participaron grandes empresas como IBM y Microsoft
  • Lanzamiento de GraphQL

    • Lenguaje de consulta para APIs desarrollado por Facebook
    • Se caracterizó por su enfoque declarativo, diseño fuertemente tipado y minimización de solicitudes al servidor
  • Lanzamiento de Redux

    • Contenedor de estado predecible para la gestión de estado en React
    • Más adelante también fue adoptado en Vue, Angular y otros
  • Anuncio de WebAssembly

    • Permitió ejecutar código de alto rendimiento como C/C++ dentro del navegador
    • Como sucesor de asm.js, se consolidó como entorno de ejecución de propósito general para la web
  • Lanzamiento de Atom 1.0

    • Editor de texto hackeable basado en Electron creado por GitHub
    • Influyó directamente en VSCode
  • Anuncio oficial de ECMAScript 6 (ES2015)

    • Grandes mejoras de sintaxis como import/export, let/const, Promise y fetch
    • La versión que se convirtió en la base del JavaScript moderno
  • Integración de Node.js e io.js

    • Con el anuncio de Node.js v4.0, ambos proyectos se reintegraron en uno solo
    • Se establecieron LTS y una política de versionado con significado

[2016]

  • Microsoft libera el motor Chakra como open source

    • Chakra, el motor de JS del navegador Edge, pasó a ser open source
    • Aunque atrajo interés de la comunidad desarrolladora, luego quedó rezagado frente al dominio de V8 y fue descontinuado
  • Ocurre el incidente de Leftpad

    • La eliminación del módulo left-pad provocó un colapso masivo de dependencias de paquetes
    • Fue un punto de inflexión para cambios en la política de npm
  • Lanzamiento de VSCode 1.0

    • IDE ligero basado en Electron y TypeScript
    • Ganó popularidad rápidamente por su velocidad, extensibilidad y excelente soporte para JS/TS
  • Anuncio de ECMAScript 2016

    • Actualización menor con elementos como el operador ** y array.includes()
  • Anuncio de Angular2

    • Arquitectura de componentes basada en TypeScript completamente distinta de AngularJS
    • Con compilación AOT y mayor seguridad, surgió como opción empresarial
  • Lanzamiento de Next.js 1.0

    • Framework de renderizado del lado del servidor basado en React
    • Impulsó la estandarización del desarrollo full stack con React considerando SEO y rendimiento

[2017]

  • Commit inicial de la propuesta Temporal

    • Propuesta de la API Temporal para resolver los problemas del objeto Date
    • Su inclusión en el estándar ECMAScript fue aprobada en 2021, y actualmente solo tiene soporte en algunos entornos
  • Lanzamiento de Prettier 1.0

    • Formateador que aplica automáticamente un estilo de código consistente
    • También influyó en la aparición de Black para Python y formateadores en Rust
  • Publicación de ECMAScript 2017

    • Introdujo funciones modernas de JS como async/await, Object.entries() y Object.values()
    • Se generalizó el uso de fetch()
  • Lanzamiento de Yarn

    • Gestor de paquetes creado para resolver la lentitud y los conflictos de npm
    • Introdujo funciones innovadoras como yarn.lock, instalaciones en paralelo y caché
  • Lanzamiento de Cloudflare Workers

    • Inicio de la era del edge computing
    • Hizo posible que código serverless se ejecute de forma distribuida en todo el mundo

[2018]

  • Lanzamiento de Puppeteer 1.0

    • Herramienta de automatización de navegador basada en Chrome headless
    • Ofreció una API amigable con Node.js y más simple que Selenium
  • Lanzamiento de TensorFlow.js

    • Hizo posible ejecutar machine learning en el navegador
    • Implementación de apps de IA en tiempo real basadas en WebGL/WebGPU
  • Smooshgate

    • Por un conflicto con el nombre Array.flatten, se cambió a flat()
    • Se originó por problemas de compatibilidad con MooTools
  • Ryan Dahl presenta Deno

    • Presentación inicial del runtime Deno junto con una revisión de los problemas de Node
  • Publicación de ECMAScript 2018

    • Introducción de promise.finally(), async iteration y rest/spread de objetos

[2019]

  • Nace OpenJS Foundation

    • Integración de Node.js Foundation y JavaScript Foundation
    • Unificación de la gobernanza de proyectos de servidor y cliente
  • Node.js v12: inicio del soporte experimental para ESM

    • Se introdujo experimentalmente ES modules mediante .mjs, type: module y otros
  • Publicación de ECMAScript 2019

    • Se agregan Object.fromEntries(), String.prototype.trimStart() y otros
  • Node.js v13.2: ESM se estabiliza oficialmente

[2020]

  • SpaceX Dragon, llega al espacio con JS

    • Se usa JavaScript en la interfaz de pantalla táctil basada en Chrome
  • Lanzamiento de Deno 1.0

    • Enfoque innovador con soporte nativo para TypeScript, modelo de permisos e importaciones HTTP, entre otros
  • Fin oficial de Adobe Flash

    • Se consolida un entorno web multimedia centrado en JS

[2022]

  • Deno se une a TC39

    • Declara su participación en la estandarización de JavaScript
  • Fin del soporte para IE11

    • Se completa la transición hacia un ecosistema web basado en estándares
  • Anuncio de ECMAScript 2022

    • Se agregan top-level await, bloques estáticos de clase y otros

[2023]

  • Lanzamiento de Bun 1.0

    • Runtime ultrarrápido implementado en Zig como alternativa a Node.js
    • Compatibilidad con npm e integración de herramientas de build

[2024]

  • Se elige a Rocket Turtle como mascota de Node.js

    • El personaje final se define mediante un concurso de la comunidad
  • Publicación de ECMAScript 2024

    • Se refuerza el manejo de Unicode con toWellFormed() y otros
  • Lanzamiento del registro JSR

    • Registro dedicado a módulos ECMAScript modernos del equipo de Deno
    • Compatible con TypeScript, Deno, Bun y Cloudflare Workers
  • Inicio del movimiento FreeJavaScript

    • Campaña que exige a Oracle devolver la marca registrada JavaScript
    • Firman figuras clave como Brendan Eich
  • Lanzamiento de Deno 2

    • Mejora la compatibilidad con Node y hasta invierte en publicidad, marcando el inicio de lleno de la guerra de runtimes

[2025]

  • Anuncian el port de TypeScript a Go

    • El proyecto tsgo está en marcha con el objetivo de lograr un rendimiento más de 10 veces superior
    • Está previsto que se adopte oficialmente a partir de TypeScript 7.0
  • Declaran la liberación como open source de Copilot Chat

    • Microsoft anuncia su estrategia para convertir VSCode en un IDE de desarrollo con IA de código abierto

[Cierre]

  • JavaScript comenzó como un lenguaje de scripting simple y evolucionó hasta convertirse en un lenguaje de desarrollo de propósito general que abarca frontend web, backend, machine learning, industria aeroespacial e IDE de desarrollo con IA
  • La comunidad open source, la evolución continua de la sintaxis y la innovación en runtimes impulsaron ese crecimiento, y en adelante seguirá expandiéndose más allá de la web hacia áreas aún más amplias junto con herramientas más rápidas e inteligentes

10 comentarios

 
princox 2025-12-17

Ahora ya se convirtió en un estándar de implementación más que en un lenguaje... para bien o para mal, me parece que terminó siendo una sintaxis que incluso tiene que cargar con el legado.

 
dkang 2025-05-31

Gracias por el buen material.

 
dontdieych 2025-05-31

La versión 3 de IE era prácticamente basura. En ese tiempo Navigator 3 era casi el estándar, pero cuando salió IE 4 la situación se dio vuelta. Además, IE 4 venía instalado por defecto en Windows.

Navigator 4 sí salió, pero no era lo suficientemente bueno como para revertir la situación. Por eso la cuota de IE siguió creciendo.

Cuando Navigator se volvió de código abierto, nació el proyecto Mozilla y salió la versión beta de Phoenix; en ese momento los usuarios probablemente empezaron a sentir que algo había cambiado de verdad. Yo incluido. Por un problema de marca registrada, le cambiaron el nombre a Firefox, y desde entonces Firefox pasó a posicionarse como un verdadero competidor de IE.

El nombre probablemente cambió así: Phoenix -> Firebird -> Firefox. Seguramente fue porque ya existía una base de datos llamada Firebird.

 
aer0700 2025-05-30

Estoy leyendo todo de corrido y, desde la mitad, me entró una emoción fuerte.
Parece súper reciente, pero también se siente súper antiguo...

 
tsboard 2025-05-29

El original está increíblemente bien organizado. Incluso incluye capturas de pantalla y código nostálgico...! Ojalá a Deno también le vaya aún mejor. jaja

 
tested 2025-05-29

Parece que la evolución de JavaScript se divide entre antes y después del lanzamiento de Node.js.

 
bobross0 2025-05-29

Estoy de acuerdo.

 
dlehals2 2025-05-29

Junto con Java, la marca registrada de JavaScript también fue transferida a Oracle. No sabía esa parte hasta ahora.

 
spp00 2025-05-30

Originalmente, Sun tenía la marca registrada de JS, pero cuando Sun fue absorbida, la marca de JS (y también MySQL, entre otras) pasó a Oracle.

 
xguru 2025-05-29

El artículo original también tiene muchas imágenes y varios fragmentos de código, así que vale la pena verlo junto con ellos.