Moteur JavaScript - JavaScript engine

Un moteur JavaScript est un programme informatique qui exécute du code JavaScript . Les premiers moteurs JavaScript étaient de simples interpréteurs , mais tous les moteurs modernes pertinents utilisent la compilation juste à temps pour de meilleures performances.

Les moteurs JavaScript sont généralement développés par les fournisseurs de navigateurs Web , et tous les principaux navigateurs en ont un. Dans un navigateur, le moteur JavaScript s'exécute de concert avec le moteur de rendu et peut manipuler des éléments du Document Object Model .

L'utilisation des moteurs JavaScript ne se limite pas aux navigateurs. Par exemple, le moteur V8 est un composant central des systèmes d'exécution Node.js et Deno (programmes qui exécutent le code source JS).

Étant donné que ECMAScript est la spécification standardisée de JavaScript, le moteur ECMAScript est un autre nom pour ces moteurs. Avec l'avènement de WebAssembly , certains moteurs peuvent également exécuter ce code dans le même bac à sable que le code JavaScript normal.

Histoire

Le premier moteur JavaScript a été créé par Brendan Eich en 1995 pour le navigateur Web Netscape Navigator . C'était un interprète rudimentaire pour la langue naissante inventée par Eich. (Cela a évolué vers le moteur SpiderMonkey , toujours utilisé par le navigateur Firefox .)

Le premier moteur JavaScript moderne était V8 , créé par Google pour son navigateur Chrome . Le V8 a fait ses débuts dans le cadre de Chrome en 2008, et ses performances étaient bien meilleures que celles de n'importe quel moteur précédent. L'innovation clé était la compilation juste à temps , qui peut considérablement améliorer les temps d'exécution.

D'autres fournisseurs de navigateurs devaient remanier leurs interprètes pour être compétitifs. Apple a développé le moteur Nitro pour son navigateur Safari , qui avait des performances 30% meilleures que son prédécesseur. Mozilla a utilisé des portions de Nitro pour améliorer son propre moteur SpiderMonkey.

Depuis 2017, ces moteurs ont ajouté la prise en charge de WebAssembly . Cela permet l'utilisation d' exécutables précompilés pour les parties critiques des scripts de page.

Moteurs notables

Les références