Motor de JavaScript - JavaScript engine

Un motor JavaScript es un programa informático que ejecuta código JavaScript . Los primeros motores de JavaScript eran meros intérpretes , pero todos los motores modernos relevantes utilizan la compilación justo a tiempo para mejorar el rendimiento.

Los motores de JavaScript suelen ser desarrollados por proveedores de navegadores web , y todos los navegadores principales tienen uno. En un navegador, el motor de JavaScript se ejecuta en conjunto con el motor de renderizado y puede manipular elementos del Modelo de objetos de documento .

El uso de motores JavaScript no se limita a los navegadores. Por ejemplo, el motor V8 es un componente central de los sistemas de tiempo de ejecución Node.js y Deno (programas que ejecutan código fuente JS).

Dado que ECMAScript es la especificación estandarizada de JavaScript, el motor ECMAScript es otro nombre para estos motores. Con la llegada de WebAssembly , algunos motores también pueden ejecutar este código en el mismo espacio aislado que el código JavaScript normal.

Historia

El primer motor de JavaScript fue creado por Brendan Eich en 1995 para el navegador web Netscape Navigator . Fue un intérprete rudimentario del idioma naciente que inventó Eich. (Esto se convirtió en el motor SpiderMonkey , todavía utilizado por el navegador Firefox ).

El primer motor JavaScript moderno fue V8 , creado por Google para su navegador Chrome . V8 debutó como parte de Chrome en 2008 y su rendimiento fue mucho mejor que el de cualquier motor anterior. La innovación clave fue la compilación justo a tiempo , que puede mejorar significativamente los tiempos de ejecución.

Otros proveedores de navegadores necesitaban revisar sus intérpretes para competir. Apple desarrolló el motor Nitro para su navegador Safari , que tuvo un rendimiento un 30% mejor que su predecesor. Mozilla aprovechó partes de Nitro para mejorar su propio motor SpiderMonkey.

Desde 2017, estos motores han agregado soporte para WebAssembly . Esto permite el uso de ejecutables precompilados para partes de secuencias de comandos de página críticas para el rendimiento.

Motores notables

Referencias