Interprete JavaScript

Un interprete JavaScript è un software specializzato che esegue comandi JavaScript, utilizzato soprattutto dai browser.

Un interprete JavaScript è un software specializzato che esegue comandi JavaScript, utilizzato soprattutto dai browser.

Origini

Prima della seconda guerra dei browser, avvenuta tra il 2008 e il 2009, gli interpreti JavaScript erano considerati soltanto come programmi interpreti che leggono un codice sorgente JavaScript e eseguono di conseguenza lo script.

Il primo interprete JavaScript fu creato da Brendan Eich della Netscape Communications Corporation per il browser Netscape Navigator. L'interprete, chiamato con il nome in codice di SpiderMonkey, è realizzato in C. È stato (in JavaScript 1.5) in conformità agli standard ECMA-262 Edition 3. L'interprete Rhino, creato da Norris Boyd (anche lui della Netscape) invece scritto in Java. Come SpiderMonkey, Rhino rispetta la ECMA-262 Edition 3. Altre applicazioni di questa tecnologia includono: Nitro, sviluppato dalla Apple per Safari; V8, sviluppato per Google Chrome; TraceMonkey, sviluppato per Mozilla Firefox 3.5.

I browser web sono sicuramente i più grandi utilizzatori di JavaScript. I browser Web, tipicamente, usano le API pubbliche per creare "host objects" responsabili di riflettere il DOM nel JavaScript

Associazione degli interpreti ai browser

Un tipico browser ha un'interfaccia grafica e un interprete JavaScript indipendenti, cosa che permette più facilmente di utilizzarli in altri progetti. Per esempio Carakan è usato con Presto, Nitro con WebKit, SpiderMonkey con Gecko, KJS con KHTML. Altre combinazioni sono talvolta possibili, per esempio, V8 con WebKit in Google Chrome. L'interprete JavaScript permette agli sviluppatori di accedere a funzionalità necessarie per il controllo del browser.

La competizione tra i diversi interpreti

È chiaramente molto accesa la competizione tra gli sviluppatori di browser per lo sviluppo di interpreti JavaScript sempre più veloci. Nel 2008, Google Chrome era stata lodata per le capacità del suo interprete, ma altri browser si procurarono in fretta nuovi interpreti JavaScript più veloci. Più avanti fu di nuovo Google Chrome a vincere in questa competizione. Il punto di forza di Chrome stava nelle prestazioni dell'applicazione e nella velocità dell'esecuzione JavaScript, due caratteristiche che erano state riconosciute da molti siti web come le più veloci riscontrabili tra i più importanti browser di quel periodo. Con l'arrivo di Squirrelfish Extreme e TraceMonkey, si è riscontrato che le prestazioni di Chrome nell'esecuzione di JavaScript erano inferiori. Google ha risposto con il programma danese V8, che ha incrementato le prestazioni di Google Chrome 2.

Interpreti JavaScript

Di seguito vi è un elenco dei più importanti interpreti JavaScript, la maggior parte dei quali sviluppati in relazione a un browser:

Mozilla

Rhino: realizzato dalla Mozilla Foundation, è un programma open source sviluppato interamente in linguaggio Java.

SpiderMonkey: il primo interprete JavaScript mai creato, la cui prima versione è stata sviluppata da Brendan Eich della Netscape Communications.

JägerMonkey: l'interprete attualmente ancora in fase di sviluppo della Mozilla Corporation.

Tamarin: sviluppato da Adobe Labs.

Google

V8: è un programma open source sviluppato da Google in Danimarca e rilasciato insieme a Google Chrome.

Altri

KJS: è l'interprete ECMAScript/JavaScript sviluppato inizialmente da Harri Porten per il browser web Konqueror del progetto KDE.

Narcissus: è un programma open source, scritto da Brendan Eich, lo stesso che aveva scritto il primo SpiderMonkey.

Chakra: sviluppato per Internet Explorer 9.

Nitro: programma sviluppato per Safari 4.

Carakan: programma sviluppato dalla Opera Software, impiegato a partire da Opera 10.50.

Servizi correlati

Altre voci

W

Web worker

Un web worker, come definito dal World Wide Web Consortium (W3C) e dal Web Hypertext Application Technology Working Group (WHATWG), è uno script JavaScript che viene eseguito in background in una pagina HTML indipendentemente dagli script dell'interfaccia utente. I web worker sono spesso in…

Leggi la voce →
Ambiente di sviluppo integratoA

Ambiente di sviluppo integrato

Un ambiente di sviluppo integrato (in inglese integrated development environment ovvero IDE) è un'applicazione che fornisce vari strumenti per lo sviluppo software, in particolare un editor di codice sorgente, modalità di automazione dello sviluppo, e un debugger. Alcuni ambienti comprendono…

Leggi la voce →
M

Mega (sito web)

MEGA (acronimo ricorsivo di Mega Encrypted Global Access) è un servizio di file hosting e file sharing internazionale, prodotto e sviluppato da Kim Dotcom con l'aiuto di Mathias Ortmann, Bram van der Kolk e Finn Batato; pubblicato il 19 gennaio 2013, è il successore del sito Megaupload, chiuso…

Leggi la voce →
W

WordPress.com

WordPress.com è un servizio di hosting blog gestito da Automattic che si basa sulla versione multi utente del software WordPress. Il servizio consente la creazione di uno o più blog gratuitamente, ed offre alcuni servizi accessori a pagamento. Per ogni blog registrato WordPress.com offre un…

Leggi la voce →
T

TikiWiki

TikiWiki CMS/Groupware, chiamato originalmente e conosciuto dai più come TikiWiki, è un Content Management System (CMS) open source (LGPL) / Geospatial Content Management System (GeoCMS) / Groupware web application installabile su siti web e portali sia internet che intranet. TikiWiki può essere…

Leggi la voce →
Genius (sito web)G

Genius (sito web)

Genius (precedentemente Rap Genius) è un sito internet dedicato alla spiegazione e all'interpretazione di testi musicali, in particolare testi hip hop.

Leggi la voce →