Historia de JavaScript

0 acciones
0
0
0
0

Introducción

JavaScript es un lenguaje de programación que, junto con HTML y CSS, es uno de los tres lenguajes principales utilizados para desarrollar sitios web. Mientras que HTML y CSS dan estructura y estilo a un sitio web, JavaScript permite añadir funcionalidades y comportamientos. Esto permite a los visitantes interactuar con el sitio web de diversas maneras creativas.

El primer navegador

El primer navegador web popular con interfaz gráfica de usuario, Mosaic, se lanzó en 1993. Accesible para personas sin conocimientos técnicos, desempeñó un papel fundamental en el rápido crecimiento de los inicios de la World Wide Web. Los desarrolladores originales de Mosaic fundaron posteriormente Netscape, que lanzó un navegador más avanzado llamado Netscape Navigator en 1994. Este navegador se convirtió rápidamente en el más utilizado.

Durante los primeros años de la web, las páginas web solo podían ser estáticas, careciendo de la capacidad de comportarse dinámicamente una vez cargadas en el navegador. En el floreciente panorama del desarrollo web, existía el deseo de eliminar esta limitación, por lo que en 1995, Netscape decidió añadir un lenguaje de programación a Navigator. Para lograrlo, siguieron dos caminos: asociarse con Sun Microsystems para integrar el lenguaje de programación Java y, al mismo tiempo, contratar a Brendan Eich para integrar el lenguaje Scheme.

La dirección de Netscape pronto decidió que la mejor opción para Eich era inventar un nuevo lenguaje, con una sintaxis similar a la de Java y menos parecida a la de Scheme u otros lenguajes de programación existentes. Aunque el nuevo lenguaje y su intérprete se denominaron inicialmente LiveScript en una versión beta en septiembre de 1995, el nombre se cambió a JavaScript para el lanzamiento oficial en diciembre.

La elección del nombre JavaScript ha generado confusión e implica una relación directa con Java. En aquel entonces, el boom de las puntocom había comenzado y Java era un lenguaje nuevo y popular, por lo que consideré que el nombre JavaScript era una estrategia de marketing de Netscape. Sin embargo, el objetivo original era crear un lenguaje completamente independiente, un “lenguaje para las masas” o “para ayudar a usuarios sin conocimientos de programación a crear sitios web dinámicos e interactivos”. Por supuesto, esto cambió con la llegada de entornos de ejecución de JavaScript independientes, como la herramienta de desarrollo web LiveWire Pro de Netscape, y Ajax, ServerJS, asm.js y node.js.

Aprobado por Microsoft

Microsoft lanzó Internet Explorer en 1995, lo que desencadenó una guerra de navegadores con Netscape. En el ámbito de JavaScript, Microsoft aplicó ingeniería inversa al intérprete Navigator para crear su propio intérprete, llamado JScript.

JavaScript se lanzó por primera vez en 1996, junto con la compatibilidad inicial para las extensiones CSS y HTML. Cada una de estas implementaciones difería significativamente de sus contrapartes en Navigator. Estas diferencias dificultaban que los desarrolladores lograran que sus sitios web funcionaran correctamente en ambos navegadores, lo que llevó al uso generalizado de los logotipos "Mejor visualizado en Netscape" y "Mejor visualizado en Internet Explorer" durante varios años.

El surgimiento de JScript

En noviembre de 1996, Netscape presentó JavaScript a ECMA International como punto de partida para una especificación estándar que todos los fabricantes de navegadores pudieran adoptar. Esto condujo a la publicación oficial de la primera especificación del lenguaje ECMAScript en junio de 1997.

El proceso de estandarización continuó durante varios años, con el lanzamiento de ECMAScript 2 en junio de 1998 y ECMAScript 3 en diciembre de 1999. El trabajo en ECMAScript 4 comenzó en 2000.

Mientras tanto, Microsoft fue consolidando su posición dominante en el mercado de navegadores. A principios de la década de 2000, la cuota de mercado de Internet Explorer alcanzó el 95 %. Esto significó que JScript se convirtió en el estándar de facto para la programación del lado del cliente en la web.

Microsoft participó inicialmente en el proceso de estandarización e implementó algunas de las propuestas en su lenguaje JScript, pero finalmente dejó de participar en el desarrollo de ECMA. Por lo tanto, ECMAScript 4 fue descontinuado.

Crecimiento y estandarización

Durante el dominio de Internet Explorer a principios de la década de 2000, el desarrollo front-end se estancó. Este cambio comenzó en 2004, cuando Mozilla, sucesor de Netscape, lanzó el navegador Firefox. Firefox tuvo una gran acogida y le arrebató una importante cuota de mercado a Internet Explorer.

En 2005, Mozilla se unió a ECMA International y comenzó el desarrollo del estándar ECMAScript para XML (E4X). Esto llevó a Mozilla a colaborar con Macromedia (posteriormente adquirida por Adobe Systems) para implementar E4X en su lenguaje ActionScript 3, basado en el borrador de ECMAScript 4. El objetivo era estandarizar ActionScript 3 como el nuevo ECMAScript 4. Con este fin, Adobe Systems lanzó la implementación de Tamarin como proyecto de código abierto. Sin embargo, Tamarin y ActionScript 3 eran muy diferentes de los scripts estándar del lado del cliente, y sin la cooperación de Microsoft, ECMAScript 4 nunca se materializó.

Mientras tanto, en la comunidad de código abierto se producían avances muy importantes, ajenos al trabajo de ECMA. En 2005, Jesse James Garrett publicó un informe técnico donde acuñó el término Ajax y describió un conjunto de tecnologías, con JavaScript como base, para crear aplicaciones web que permitieran cargar datos en segundo plano sin necesidad de recargar la página completa. Esto impulsó un renacimiento de JavaScript, liderado por las bibliotecas de código abierto y las comunidades que se formaron a su alrededor. Se crearon muchas bibliotecas nuevas, como jQuery, Prototype, Dojo Toolkit y MooTools.

Google lanzó su navegador Chrome en 2008 con un motor JavaScript V8 que era más rápido que el de sus competidores. La innovación clave fue la compilación justo a tiempo (JIT), por lo que otros proveedores de navegadores tuvieron que reconstruir sus motores para JIT.

En julio de 2008, estas partes, hasta entonces diversas, se reunieron en una conferencia en Oslo. Esto condujo a un acuerdo final a principios de 2009 para combinar todo el trabajo relacionado e impulsar el desarrollo del lenguaje. El resultado fue el estándar ECMAScript 5, que se publicó en diciembre de 2009.

Llegar a la pubertad

El ambicioso trabajo en el lenguaje continuó durante varios años, culminando con el lanzamiento de ECMAScript 6 en 2015, con un amplio conjunto de adiciones y correcciones formales.

La creación de Node.js en 2009 por Ryan Dahl impulsó significativamente el uso de JavaScript fuera de los navegadores web. Node combina el motor V8, un bucle de eventos y API de entrada/salida, lo que da como resultado un sistema de ejecución de JavaScript autocontenido. En 2018, millones de desarrolladores utilizaban Node, y npm contaba con la mayor cantidad de módulos de cualquier paquete gestionado del mundo.

La especificación preliminar de ECMAScript ahora se mantiene abiertamente en GitHub y se publican versiones mediante instantáneas anuales regulares. Las posibles revisiones del lenguaje se evalúan mediante un exhaustivo proceso de propuestas. Ahora, en lugar de números de versión, los desarrolladores revisan individualmente el estado de las próximas funcionalidades.

El ecosistema actual de JavaScript cuenta con numerosas bibliotecas y frameworks, prácticas de programación consolidadas y un uso significativo de JavaScript fuera de los navegadores web. Además, con el auge de las aplicaciones de una sola página y otros sitios web con un uso intensivo de JavaScript, se han creado varios transpiladores para facilitar el proceso de desarrollo.

Marca

“JavaScript” es una marca registrada de Oracle Corporation en Estados Unidos. La marca se registró originalmente a nombre de Sun Microsystems el 6 de mayo de 1997 y se transfirió a Oracle cuando esta adquirió Sun en 2009.

Utilizando el lado del usuario del sitio web

JavaScript es el lenguaje de programación del lado del cliente dominante en la web, utilizado por el 98% de todos los sitios web (mediados de 2022). Los scripts se insertan o se utilizan dentro de los documentos HTML e interactúan con el DOM.

Todos los principales navegadores web tienen un motor JavaScript integrado que ejecuta código en el dispositivo del usuario.

Ejemplos de comportamiento programado
  • Carga de contenido nuevo en una página web sin recargarla, mediante Ajax o WebSocket. Por ejemplo, los usuarios de redes sociales pueden enviar y recibir mensajes sin salir de la página actual.
  • Animaciones en páginas web, como la aparición y desaparición gradual de objetos, el cambio de tamaño y el desplazamiento de los mismos.
  • Juega a juegos de navegador.
  • Controlar la reproducción de contenido multimedia en streaming.
  • Crea anuncios emergentes o cuadros de alerta.
  • Validar los valores de entrada de un formulario web antes de enviar los datos a un servidor web.
  • Se registra información sobre el comportamiento del usuario y se envía al servidor. El propietario del sitio web puede utilizar estos datos para análisis, seguimiento de anuncios y personalización.
  • Redirige al usuario a otra página.
  • Almacena y recupera datos en el dispositivo del usuario, mediante almacenamiento o estándares IndexedDB.

Bibliotecas y marcos web

En 2012, más del 80% de los sitios web utilizaban una biblioteca JavaScript o un marco web de terceros para su programación del lado del cliente.

Reaccionar

React (también conocido como React.js o ReactJS) es una biblioteca JavaScript de código abierto y gratuita[41][42] para el desarrollo front-end de interfaces de usuario basadas en componentes. Su mantenimiento corre a cargo de Meta (anteriormente Facebook) y una comunidad de desarrolladores y empresas.

React permite desarrollar aplicaciones de una sola página, móviles o renderizadas en el servidor con frameworks como Next.js. Dado que React se centra exclusivamente en la interfaz de usuario y en la renderización de componentes en el DOM, las aplicaciones React suelen depender de librerías para el enrutamiento y otras funcionalidades del lado del cliente. Una ventaja clave de React es que solo vuelve a renderizar las partes de la página que han cambiado, evitando así la renderización innecesaria de elementos DOM sin modificar.

angular

Angular (también conocido como “Angular 2+”)[48] es un framework gratuito, de código abierto y basado en TypeScript para el desarrollo de aplicaciones web de una sola página. Está liderado por el equipo de Angular en Google y por una comunidad de personas y empresas. Angular es una reescritura completa realizada por el mismo equipo que creó AngularJS.

jQuery

En 2012, jQuery era la biblioteca front-end más popular, utilizada por más del 75% de los sitios web. Si bien todavía se usa ampliamente, su popularidad ha sido superada por bibliotecas y frameworks más recientes.

JavaScript puro

Los frameworks como "Vanilla JS" son simplemente otra forma de llamar a JavaScript puro. Se inventó para sitios web que no utilizan ninguna biblioteca ni framework, sino que se basan completamente en la funcionalidad estándar de JavaScript.

Otros usos

El uso de JavaScript se ha extendido más allá de sus orígenes en los navegadores web. Los motores de JavaScript ahora están integrados en una variedad de otros sistemas de software, tanto para el despliegue de sitios web en el servidor como para aplicaciones que no son navegadores.

Los primeros intentos por promover el uso de JavaScript en el servidor fueron Netscape Enterprise Server y Microsoft Internet Information Services, pero se trataba de nichos de mercado pequeños. El uso en el servidor finalmente comenzó a crecer a finales de la década de 2000 con la creación de Node.js y otros enfoques.

Electron, Cordova, React Native y otros frameworks de aplicaciones se han utilizado para crear numerosas aplicaciones con comportamientos implementados en JavaScript. Otras aplicaciones que no se ejecutan en navegadores incluyen la compatibilidad de Adobe Acrobat con la creación de scripts para documentos de PowerShell y las extensiones de GNOME Shell escritas en JavaScript.

JavaScript ha aparecido recientemente en algunos sistemas embebidos, generalmente utilizando Node.js.

Entorno de ejecución

JavaScript suele depender de un entorno de ejecución (por ejemplo, un navegador web) para proporcionar objetos y métodos que permitan a los scripts interactuar con dicho entorno (por ejemplo, el DOM de una página web). Estos entornos son de un solo hilo. JavaScript también depende del entorno de ejecución para poder incluir/importar scripts (por ejemplo, mediante elementos `<script>`). HTML) را فراهم کند. این به خودی خود یک ویژگی زبان نیست، اما در اکثر پیاده سازی های جاوا اسکریپت رایج است. جاوا اسکریپت پیام های یک صف را در یک زمان پردازش می کند. جاوا اسکریپت یک تابع مرتبط با هر پیام جدید را فراخوانی می کند و یک فریم پشته تماس با آرگومان های تابع و متغیرهای محلی ایجاد می کند. پشته تماس بر اساس نیازهای تابع کوچک شده و رشد می کند. هنگامی که پشته تماس پس از تکمیل تابع خالی است، جاوا اسکریپت به پیام بعدی در صف ادامه می‌دهد. این حلقه رویداد نامیده می شود که به عنوان “اجرا تا تکمیل” توصیف می شود زیرا هر پیام قبل از در نظر گرفتن پیام بعدی به طور کامل پردازش می شود. با این حال، مدل همزمانی زبان، حلقه رویداد را غیر مسدودکننده توصیف می‌کند: ورودی/خروجی برنامه با استفاده از رویدادها و توابع پاسخ به تماس انجام می‌شود. این بدان معناست که، برای مثال، جاوا اسکریپت می‌تواند یک کلیک ماوس را در حالی که منتظر یک پرس و جو پایگاه داده برای بازگرداندن اطلاعات است، پردازش کند.

Resultado

Hoy en día, podemos usar JavaScript para escribir todo tipo de programas, incluyendo aplicaciones para navegador, servidor, móviles y ordenadores. Esperamos que este artículo les haya brindado una buena comprensión de la historia del lenguaje de programación más popular en internet actualmente.

[Total: 1   Promedio: 5/5]
Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

También te puede gustar

TensorFlow

TensorFlow es una biblioteca de aprendizaje automático y aprendizaje profundo publicada por Google y…