JavaScript è un linguaggio di scripting lato-client, che viene interpretato dal browser.
Sembra un affermazione molto astrusa, ma in realtà è una definizione molto semplice ed efficace.
Il web - come ogni webmaster che si rispetti dovrebbe sapere - funziona a due livelli:
- le pagine web vengono inviate all'utente da un web server, cioè da un programma che si trova su un computer remoto, e che per lo più non fa nient'altro che inviare le pagine a chi ne fa richiesta (in realtà può fare un sacco di altre cose, ma in questo contesto non è necessario specificarle...)
- l'utente da casa visualizza sul proprio browser le pagine che gli sono stato inviate. Un "browser" è un programma che permette di leggere le pagine scritte in linguaggio HTML: si tratta di "Internet Explorer", "Netscape Navigator", "Opera" e altri.
Quando visualizziamo le nostre pagine web da casa ci sono dunque due computer che si parlano: il server e il client.
Alcuni linguaggi di scripting (asp, php, perl) vengono eseguiti dal web server (si chiamano appunto linguaggi server side o lato server). JavaScript, invece, viene eseguito sul nostro computer di casa dal browser (è un linguaggio client side o lato client).
Dire che JavaScript è un linguaggio lato client, significa anche che i vostri script avranno validità all'interno delle singole pagine web, e non da una pagina all'altra: con JavaScript è possibile infatti passare una piccola quantità di dati da una pagina all'altra, ma è un'operazione che può essere effettuata con una certa difficoltà (coi linguaggi server side, si esegue invece in maniera intuitiva); non è possibile invece trasmettere quantità di dati elevate.
Dicevamo inoltre che JavaScript è un linguaggio di scripting: questo significa che la sintassi JavaScript potete scriverla direttamente dentro la pagina HTML, senza bisogno di produrre alcun file compilato.
Con i linguaggi di programmazione invece (come il C, il C++) si scrive la sintassi, e poi la si passa a un compilatore, che produce un file "compilato", in cui la sintassi è scomparsa. Tutti i programmi di windows ad esempio sono dei file compilati, in cui non c'è più traccia della sintassi originaria (cioè dei "sorgenti").
JavaScript invece non è compilato: potete quindi visualizzare in qualsiasi momento il codice di una pagina HTML e leggere le righe di sintassi JavaScript.
Dire che è un linguaggio di scripting sottintende dunque il fatto che sia un linguaggio interpretato: come abbiamo visto non esiste nessun compilatore, ma è direttamente il browser, tramite un apposito motore di scripting (cioè di visualizzazione), che legge le parti di codice JavaScript.
Nota a margine
A dirla tutta il web è fatto a tre livelli, e non a due:
- il client (il pc su cui visualizzate le pagine)
- il "web server" (il programma che vi spedisce le pagine dal pc remoto)
- il "database server" (un altro programma che immagazzina i dati e li restituisce, quando vengono richiesti)
Il corso di JavaScript che affronteremo vi servirà per aggiungere dinamicità alle vostre pagine web, non per interagire coi database.