Blog

La historia de JavaScript

Contenidos

JavaScript cumplió 25 años en 2020 con más de 10 millones de usuarios. Es omnipresente hoy en día y es una de las herramientas más utilizadas para el desarrollo de la web siete años seguidos, según los informes de la encuesta anual Stack Overflow. JavaScript nació en 1995, concebido y desarrollado en 10 días por Brendan Eich, un ingeniero de software de Netscape Communications Corporation.

El lanzamiento del software entró en un mercado que chocó con la guerra entre Netscape y Microsoft, montando la montaña rusa de la rápida tracción del usuario y luego bajando en espiral hasta su salida del mercado. Sin embargo, de las cenizas surgió una de las historias más extraordinarias que levantó las voces de la defensa de Internet para el público. Desde este nuevo punto de vista, JavaScript renació.

Diez días desde el concepto hasta la puesta en marcha (1995)

JavaScript llegó como una asignación apresurada, ordenada por la administración de Netscape porque la compañía estaba involucrada en una feroz guerra de navegadores con Microsoft. El tiempo era esencial. Microsoft había amenazado con aniquilar a Netscape si no accedía a dividir el mercado de navegadores web basándose en los lanzamientos del sistema operativo Microsoft Windows, según las declaraciones de Netscape en un juicio antimonopolio en 1998. Microsoft quería la exclusividad de la World Wide Web para su Internet Explorer que acompañaba a Windows 95. Netscape, indignado, decidió contraatacar incluyendo el software que lo acompañaba con el lanzamiento del navegador Netscape Navigator 2.0 Beta. Este código de programación planificado, eventualmente llamado JavaScript, permitiría a los no programadores crear un sitio web.

La asignación de trabajo de Brendan Eich mantenía los atributos de la misión imposibles. El desarrollo debía estar listo en diez días para su inclusión en el lanzamiento del navegador Netscape en septiembre de 1995.

El trabajo tenía que cumplir con el acuerdo de intercambio de tecnología y distribución de productos firmado recientemente entre Netscape y Sun Microsystems. Además, los requisitos de gestión subrayaban la importancia de su apariencia. El lenguaje debía parecerse al lenguaje Java de Sun Microsystems para alimentarse de la popularidad de Java, pero no podía ser Java para respetar las leyes de derechos de autor. Debería sentirse rico y funcionalmente poderoso para una rápida adopción en el mercado, pero no debería ser percibido como un competidor de Java. A Eich se le prohibió usar la sintaxis orientada a objetos de Java. Durante el desarrollo, se le dio el nombre de código «Mocha» para promocionarlo como compañero de Java, un lenguaje ligero y amigable para el no programador.

Eich lo consiguió. Escribió el lenguaje de scripts aprovechando su conocimiento de las funcionalidades de Scheme, añadió ingredientes inspirados en los prototipos de Self y creó su propia semántica parecida a la de Java.

El nombre «Mocha» duró sólo un corto período de desarrollo, transformándose en «LiveScript» en su primera versión. Esta primera versión del código no admitía excepciones. Las operaciones a menudo señalaban errores, pero su falta de practicidad no disuadía a los usuarios. La comunidad de desarrollo dio un paso adelante para ayudar a depurar el software. Sun Microsystems cambió el nombre del producto una vez más a JavaScript cuando publicó Navigator 2.0 Beta 3 en diciembre de 1995 y LiveWire se convirtió en la marca del JavaScript del lado del servidor para el Netscape Enterprise Server. 

La Guerra de los Navegadores (1995 – 2003) 

Antes del lanzamiento del navegador Navigator de Netscape en 1994, Microsoft se había centrado en desalojar AOL con Microsoft Network, ActiveX y VBScript y desarrolló una nueva versión de Microsoft SQL Server diseñada para aplicaciones de Internet en 1995. Después del lanzamiento de Internet Explorer en Windows 95, Microsoft no tardó mucho en ponerse al día con Netscape con el lanzamiento de un Jscript de ingeniería inversa lanzado en 1996.

Netscape pidió a la Asociación Europea de Fabricantes de Computadoras, o ECMA, que estableciera estándares comunes. Un comité técnico, conocido como TC39 asumió esta misión en 1996. Intensos debates entre implementaciones en competencia se produjeron durante las sesiones del TC39. A pesar de los escasos progresos realizados para llegar a un acuerdo, la organización de normalización publicó su primer conjunto de especificaciones, el ECMA-262, en junio de 1997, que promovió la compatibilidad retroactiva como regla de oro y endureció la definición de los operadores de igualdad. La Organización Internacional de Normalización (ISO) y la Comisión Electrotécnica Internacional (IEC) formalizaron la segunda edición, ISO/IEC 16262 en junio de 1998, y la tercera edición llegó en diciembre de 1999 con una versión que representa el JavaScript moderno, denominada ECMAScript 3.

Microsoft sacó del mercado a Netscape Navigator mediante tácticas de agrupamiento e hizo el lanzamiento en 1997 de Internet Explorer 4, «La Web a tu manera», el navegador de hecho en todos los sistemas operativos de Windows, el clásico Mac OS, el sistema HP-UX y las plataformas Solaris. AOL compró Netscape Communications Corporation por 4.300 millones de dólares a finales de 1998. Pero para el año 2000, Microsoft tenía el control completo del mercado de navegadores web.

Microsoft, en una posición de monopolio, ya no se preocupaba por la estandarización y el TC39 fue disuelto con el trabajo en ECMAScript 4 relegado a la bóveda. Eventualmente, AOL dejó ir a los empleados de Netscape Navigator en 2003. Y eventualmente vendería 800 patentes a Microsoft, incluyendo las que cubren el navegador Netscape en 2011 por 1.1 billones de dólares en efectivo.

El renacimiento (2003 – 2005)

De las cenizas de Netscape surgió la Fundación Mozilla en 2003. La misión de esta organización sin ánimo de lucro era proteger el acceso a Internet y mantenerlo como un recurso público a escala mundial. En 2005, Brendan Eich se unió a la Fundación Mozilla y a sus esfuerzos por abogar con éxito por el restablecimiento del TC39 en consideración al rápido crecimiento de Firefox. Eich y Mozilla trabajaron con la ECMA en una nueva iteración de las normas ECMA-357, también llamada ECMAScript para XML o E4X. Jesse James Garrett impulsó el triunfo de la promoción con una publicación de 2005 en la que se describían las tecnologías apoyadas por JavaScript.

Al acuñar el término AJAX, para JavaScript asíncrono y XML, describió un conjunto de técnicas para que los desarrolladores actualizaran el contenido web de forma asíncrona, ayudaran a gestionar el contenido dinámico del sitio web e instruyeran una función de visualización de la página web independiente de la plataforma en la que se visualizara. Por último, en 2005 se lanzó jQuery, una biblioteca de funciones de JavaScript que puede llamarse con una sola línea de código, y se creó la Dojo Foundation para promover proyectos de código abierto en la web, incluido el juego de herramientas de JavaScript para acelerar el desarrollo de plataformas cruzadas.  Tomó hasta 2009 para que se lanzara ECMAScript 5 seguido de algunas actualizaciones en 2011 para alinearse con la ISO/IEC 16262.

Convertirse en ubicuo (2006-2020)

El renacimiento de JavaScript dio lugar a un ecosistema de marcos y bibliotecas para facilitar la codificación de JavaScript para los desarrollos del lado del cliente y del lado del servidor. En 2006, jQuery facilitó la creación de sitios web más sofisticados. Node.js llegó en 2009 como una tecnología de desarrollo del lado del cliente para escribir aplicaciones de Internet en JavaScript escalables. Un año más tarde, Backbone introdujo el concepto de aplicaciones de una sola página, y AngularJS elevó aún más la popularidad de JavaScript con arquitecturas de front-end disponibles para los desarrolladores. Knockout.js entró en el mercado con una biblioteca de JavaScript para interfaces de usuario dinámicas en 2013.

La lista de tecnologías conectadas con JavaScript se ha ampliado en número y en alcance en los últimos cinco años. Los desarrolladores pueden favorecer algunos de los marcos o bibliotecas sobre otros basados en las aplicaciones de destino. Lo que permanece estable es el compromiso de la comunidad global de aprender y avanzar las herramientas conectadas a JavaScript abierta y colectivamente. Es ubicuo y bajo la guía de los estándares de la Especificación de Lenguaje ECMA-262 ECMAScript® 2019.

Artículos destacados

From offline to online.

Comparte tus ideas con nosotros