📢 Nuovo Corso Laravel API disponibile!

Il Motore Javascript V8

V8 è il nome del motore JavaScript che alimenta Google Chrome. È ciò che prende il nostro JavaScript ed esegue il codice durante la navigazione con Chrome.

V8 è il motore JavaScript, ovvero analizza ed esegue il codice JavaScript. Il DOM e le altre API della piattaforma Web (che costituiscono l’ambiente di esecuzione) sono forniti dal browser.

La cosa interessante è che il motore JavaScript è indipendente dal browser in cui è ospitato. Questa caratteristica chiave ha permesso l’ascesa di Node.js. V8 è stato scelto come motore che alimentava Node.js nel 2009, e con la crescente popolarità di Node.js, V8 è diventato il motore che ora alimenta una quantità incredibile di codice lato server scritto in JavaScript.

L’ecosistema di Node.js è vasto e grazie a V8, che alimenta anche le app desktop, con progetti come Electron.

Altri motori JavaScript

Altri browser hanno il loro motore JavaScript:

  • Firefox ha SpiderMonkey
  • Safari ha JavaScriptCore

Tutti questi motori implementano lo standard ECMA ES-262, anche chiamato ECMAScript, lo standard utilizzato da JavaScript.

La ricerca delle prestazioni

V8 è scritto in C++ ed è continuamente migliorato. È portatile e funziona su Mac, Windows, Linux e su diversi altri sistemi.

V8 si evolve costantemente, proprio come gli altri motori JavaScript, per accelerare il Web e l’ecosistema di Node.js.

Compilazione

JavaScript è generalmente considerato un linguaggio interpretato, ma i moderni motori JavaScript non interpretano più solo JavaScript, lo compilano.

Questo succede dal 2009, quando il compilatore JavaScript SpiderMonkey è stato aggiunto a Firefox 3.5, e tutti hanno seguito questa idea.

JavaScript è compilato internamente da V8 con la compilazione just-in-time (JIT) per accelerare l’esecuzione.

Questo potrebbe sembrare controintuitivo, ma dal 2004, con l’introduzione di Google Maps, JavaScript si è evoluto da un linguaggio che generalmente eseguiva alcune dozzine di linee di codice a vere e proprie applicazioni con migliaia o centinaia di migliaia di linee in esecuzione nel browser.

Le nostre applicazioni possono ora funzionare per ore all’interno di un browser, anziché essere solo alcune regole di convalida del modulo o script semplici.

In questo nuovo mondo, compilare JavaScript ha perfettamente senso perché, sebbene possa richiedere un po’ più di tempo per rendere il JavaScript pronto, una volta fatto sarà molto più performante rispetto al codice puramente interpretato.