back to top

Introduzione a Javascript

Javascript (spesso abbreviato come JS) è il linguaggio di scripting più diffuso sul Web. Chi affronta per la prima volta questo argomento, almeno in questa sede, dovrebbe sapere che a differenza di HTML, che è un linguaggio di markup, Javascript è un vero e proprio linguaggio di programmazione (o di scripting che dir si voglia) orientato agli oggetti (seppur in modo "limitato") ed agli eventi.

Attraverso Javascript è possibile scrivere veri e prori "programmi" (script) attraverso i quali interagire con l’utente e con il sistema attraverso l’ausilio del brwoser che, dopo aver scaricato il codice sorgente del programma, ne darà esecuzione. In questo senso si parla di linguaggio di scripting lato client per distinguerlo dai linguaggi lato server dove l’interpretazione del codice è compito del server e non del client.

La storia di Javascript

Questo linguaggio fu sviluppato originariamente da Brendan Eich, sviluppatore al soldo della Netscape Communications, con il nome di Mocha ed in seguito di LiveScript. Il nome attuale, quindi, è successivo ed è frutto di una sorta di "avvicinamento" della sintassi del linguaggio a quella del Java, da qui il nome "Javascript".

Quest’ultima definizione, tuttavia, ha suscitato non poca confusione tra gi utenti in quanto spesso il linguaggio è stato associato a Java e/o considerato una sua derivazione: nulla di più sbagliato. Javascript, in realtà, non ha nulla a che spartire con Java se non una qualche (piccola) somiglianza in alcune sintassi.

Javascript fa parte dello standard ECMAScript di cui, sostanzialmente, rappresenta una sorta di dialetto (come JScript e ActionScript). Al momento in cui viene scritta questa guida l’ultima release dello standard ECMAScript è la 5.1 (del 2011) e ad oggi sono in fase di bozza (draft) sia la versione 6 che 7 di questo standard.

Linguaggio "lato client"

Come detto Javascript è un linguaggio di scripting lato client nel senso che la sua interpretazione ed esecuzione è a carico del client (del brwoser) e non del server (come invece accade, ad esempio, con ASP e PHP).

Essendo "lato client" il codice sorgente del programma deve essere prima scaricato dal browser per poter essere interpretato. Ciò comporta dei tempi di esecuzione più lunghi (anche se in realtà, con la diffusione delle connessioni veloci, questo problema si è assai ridotto) e l’impossibilità di eseguire (direttamente) operazioni che coinvolgono il server come, ad esempio, la scrittura di dati all’interno del database (in questi casi è necessario ricorrere all’intermediazione della tecnologia AJAX).

Un vantaggio dello scripting lato client è che l’elaborazione di programmi anche complessi non comporta nessun sovraccarico per la capacità computazionale del server il quale si limiterà a "trasmettere" il sorgente un po’ come accade coi comuni documenti HTML.

Linguaggio di scripting (o di programmazione)?

la differenza, in realtà, è più che altro terminologica. Da un punto di vista formale Javascript è tecnicamente un linguaggio di scripting in quanto si definisce "di programmazione" un linguaggio in grado di creare programmi stand-alone cosa che con Javascript non è possibile fare, essendo necessario un altro programma (il browser) per eseguirne i comandi.

Un linguaggio di scripting, quindi, è un’esemplificazione di un linguaggio di programmazione, dove il codice viene interpretato da un browser e non è direttamente eseguibile.

Perchè utilizzare un linguaggio di scripting?

La risposta è semplice, ed i conoscitori dell’HTML dovrebbero saperlo.

Questi si saranno di certo chiesti come fare a far apparire in automatico la data su di una pagina, oppure come creare un sistema che al caricamento di una pagina reindirizzi il visitatore verso un’altra pagina dopo un determinato numero di secondi, o qualsiasi altra cosa che non è stato possibile fare con il semplice markup HTML.

Con l’utilizzo di Javascript, in poche parole, è possibile dinamizzare una pagina HTML, interagire con l’utente ed automatizzare alcuni processi sulla base del verificarsi di taluni eventi legati al comportamento dell’utente, alle caratteristiche del sistema o ad eventi temporali.

Scopo della guida

Nelle prossime lezioni di questa guida cercheremo di affrontare gli aspetti principali del linguaggio e di capirne il suo funzionamento al fine di creare script, più o meno complessi, coi quali rendere maggiormente coinvolgente l’espereinza di navigazione degli utenti del nostro sito.

Javascript e la programmazione ad oggetti

Come già accennato all’inizio di questa lezione, Javascript permette un approccio alla programmazione sia di tipo procedurale che orientata agli oggetti (o OOP).

In ealtà non è corretto parlare di OOP per Javascript, in quanto questo linguaggio non conosce i concetti di classe e di interfaccia, tanto meno di polimorfismo e non è un linguaggio fortemente tipizzato. Pur non essendo munito delle caratteristiche citate, Javascript permette ugualmente di creare degli oggetti.

In questa sede non è il caso di addentrarci in concetti avanzati e complessi in quanto, essendo l’obiettivo di questa guida quello di formare l’utente ad un utilizzo di base del linguaggio, l’approccio classico (o procedurale) appare, pertanto, decisamente più consono.

Alcuni accenni alla programmazione OOP saranno affrontati nella parte conclusiva di questo mauale.

Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).