mercoledì 11 marzo 2009

JavaScript: Passato, Presente, Futuro



JavaScript è un potente linguaggio di scripting lato-client orientato agli oggetti più diffuso nel Web, in parole povere è un’esemplificazione di un linguaggio di programmazione che viene interpretato direttamente da un browser Web (e non dal web server) e implementato direttamente all’interno di un documento HTML.

Fu originariamente sviluppato da Brendan Eich della Netscape Communications con il nome di Mocha, successivamente di LiveScript e ancora in seguito il nome passò a JavaScript ma è importante precisare che JavaScript non è Java!!

JavaScript non ha nulla a che fare con Java. Quando Sun ha cominciato a promuovere Java come IL linguaggio del Web, Netscape E SUN hanno deciso di cambiare nome di LiveScript in JavaScript solo al fine di una trovata di marketing (che negli anni ha ingenerato solo confusione).
In realtà sono due linguaggi totalmente diversi, basati su principi diversi. Il primo è un linguaggio ad oggetti puro, che richiede di essere compilato in byte-code e successivamente interpretato da una JVM. Il secondo,come abbiamo visto, nasce come linguaggio di scripting per i browser della Netscape (ma è poi stato accolto anche da altri browser) ed è totalmente interpretato; se vogliamo trovare una sorta di legame tra i due potremmo dire che la sintassi di Javascript è molto simile a quella utilizzata in Java.

Quali sono le caratteristiche di JavaScript?
La caratteristica principale di JavaScript è, come abbiamo accennato, quella di essere un linguaggio interpretato. Il codice quindi non viene compilato bensì c'è un interprete (in JavaScript lato client esso è incluso nel browser che si sta utilizzando) che esegue riga per riga, a tempo di esecuzione, quanto trascritto nello script.
Un'altra caratteristica importante di JavaScript consiste nel suo essere un linguaggio debolmente tipizzato; quindi il tipo delle variabili può non essere assegnato in fase di dichiarazione e le variabili stesse vengono convertite in maniera automatica dall'interprete.
Un altro aspetto di maggior interesse è che in JavaScript lato client il codice JavaScript viene eseguito sul client, quindi il server non viene sollecitato. Ciò risulta essere un vantaggio in quanto con la presenza di script particolarmente complessi il server non verrebbe sovraccaricato. Di conseguenza però, nel caso di script che presentano una considerevole mole di dati, il tempo per lo scaricamento diventa eccessivo.

JavaScript presenta anche degli "svantaggi", o a dir meglio, limitazioni.
Essendo un linguaggio confinato all'interno del browser e ai compiti inerenti all'HTML, non dispone di alcune caratteristiche presenti negli altri linguaggi:
- non supporta funzioni grafiche, tranne quelle per generare codice HTML dinamico (con immagini, tabelle, frame, moduli, caratteri...) per la visualizzazione da parte del browser.
- per ragioni di sicurezza non permette la lettura o la scrittura di file.

Il futuro di JavaScript? Sicuramente legato all'HTML dinamico che permetterà la scrittura di pagine Web sempre piu' interattive che potranno interagire sempre maggiormente con l'utente.

Roberto Siepi

0 commenti:

Posta un commento