Motor JavaScript - JavaScript engine

Um motor JavaScript é um programa de computador que executa código JavaScript . Os primeiros motores JavaScript eram meros intérpretes , mas todos os motores modernos relevantes usam compilação just-in-time para melhorar o desempenho.

Os mecanismos JavaScript são normalmente desenvolvidos por fornecedores de navegadores da web , e todos os principais navegadores possuem um. Em um navegador, o mecanismo JavaScript é executado em conjunto com o mecanismo de renderização e pode manipular elementos do Document Object Model .

O uso de motores JavaScript não se limita aos navegadores. Por exemplo, o mecanismo V8 é um componente central dos sistemas de tempo de execução Node.js e Deno (programas que executam código-fonte JS).

Como ECMAScript é a especificação padronizada de JavaScript, o mecanismo ECMAScript é outro nome para esses mecanismos. Com o advento da WebAssembly , alguns motores também pode executar este código no mesmo sandbox como código JavaScript regular.

História

O primeiro motor de JavaScript foi criada por Brendan Eich em 1995 para o Netscape Navigator navegador web . Foi um intérprete rudimentar para a linguagem nascente que Eich inventou. (Isso evoluiu para o mecanismo SpiderMonkey , ainda usado pelo navegador Firefox .)

O primeiro motor JavaScript moderno foi o V8 , criado pelo Google para seu navegador Chrome . O V8 estreou como parte do Chrome em 2008, e seu desempenho era muito melhor do que qualquer motor anterior. A principal inovação foi a compilação just-in-time , que pode melhorar significativamente os tempos de execução.

Outros fornecedores de navegadores precisaram revisar seus intérpretes para competir. A Apple desenvolveu o motor Nitro para seu navegador Safari , que teve um desempenho 30% melhor do que seu antecessor. A Mozilla aproveitou partes do Nitro para melhorar seu próprio mecanismo SpiderMonkey.

Desde 2017, esses mecanismos adicionaram suporte para WebAssembly . Isso permite o uso de executáveis pré-compilados para partes críticas de desempenho de scripts de página.

Motores notáveis

Referências