Abbiamo visto che Javascript è un linguaggio di script basato sugli
oggetti, per applicazioni client e server.
Infatti esistono due tipi di Javascript: Javascript Client-Side
e Javascript Server-Side.
Javascript Client-Side
Quando il nostro browser (Client), richiede attraverso il
protocollo HTTP una determinata pagina, il server interrogato,
ritorna al richiedente il contenuto del documento (HTML).
Il browser legge il documento dallalto verso il basso, mostrando
attraverso il browser i risultati del codice HTML, interpretando
e traducendo così anche le istruzioni Javascript che incontra
passo dopo passo.
Detto così, il processo Client-Server può sembrare più complicato
di quanto sia in realtà.
Ogni volta che noi (Client) utilizziamo il telefono, e richiediamo
informazioni ad un addetto al centralino (Server), abbiamo
un processo Client-Server. Ogni volta che utilizziamo il
nostro browser (Client) e ci colleghiamo ad un sito internet
(Server), abbiamo un processo Client-Server.
Vi ricordo che Javascript Client-Side incorpora la gestione
degli eventi (o gestore degli eventi), di cui abbiamo fatto un brevissimo
cenno nella precedente lezione. In questo modo attraverso il linguaggio
Javascript saremo in grado di controllare linterfaccia
con lutente direttamente sul browser, quindi dalla parte del
Client (Client-Side).
Nella figura seguente vedremo quanto descritto:
Figura-1
Javascript Server-Side
In questo caso le pagine HTML e le istruzioni Javascript,
vengono compilate in un file denominato bytecode.
Questo viene reso operativo su di un Server che contiene:
The JS runtime engine.
Il vantaggio di questa operazione, consiste nel fatto che il webmaster
ha la possibilità, lato server, di connettere i bytecode
con i file di sistema e sopratutto con i database relazionali.
Ad esempio il Javascript Livewire Database Server
provvede a fornire tutti gli oggetti che servono per potere accedere
ai database presenti sul server in SQL (Structured Query
Language).
Uno svantaggio è intuitivo: Il bytecode viene condiviso ed
utilizzato direttamente sul server, questo porta in alcuni periodi
di massimo accesso a rallentamenti visibili.
Figura-2
E molto importante comprendere il funzionamento e la differenza tra Javascript: Client-Side e Server-Side; anche se in questo corso ci occuperemo esclusivamente di Javascript dalla parte del Client, quindi dalla parte del browser.
Vantaggi e svantaggi di un linguaggio interprete client-side
Tra i vantaggi dellutilizzo di Javascript è evidente laffidabilità;
infatti un linguaggio interpretato ha il codice visibile o in chiaro,
quindi i sorgenti sono a disposizione di chiunque, attraverso il
browser. Daltro canto risulta evidente limpossibilità
di proteggere il codice, anche se questultimo venisse tutelato
dalle leggi sul diritto dautore.
Javascript viene interpretato sul client, per cui il server non
viene sollecitato se non è strettamente necessario.
Di conseguenza lo script per potere essere perfettamente funzionante
deve essere completamente caricato dal browser, per questo motivo
è importante inserire le funzioni nellintestazione (prima
parte) del documento, e la parte principale nel corpo (seconda parte)
del documento.
Per cominciare il nostro lavoro avremo bisogno di un editor, vi
consiglio di utilizzare il Notepad o blocco note di Windows, inizialmente
andrà benissimo. Gli script andranno testati su più piattaforme
e quindi useremo i due browser più utilizzati e che hanno garantito
maggiore stabilità:
- Microsoft Internet Explorer 5.01 o superiore
- Netscape Navigator - dalla versione 4.06 fino
alla versione 4.72
Ricordate che è importantissimo verificare se il proprio lavoro
è compatibile e si presenta nello stesso modo su piattaforme e sistemi
differenti.
Lassociazione E.C.M.A. ed il consorzio World Wide Web
(W3C)
Questo linguaggio, inizialmente, è stato utilizzato per la prima
volta sul Netscape Navigator 2.0 nel 1996.
Subito dopo Netscape ha delegato lE.C.M.A. (European
Computer Manufactured Association), al fine di rendere standard
il linguaggio Javascript, infatti lE.C.M.A. è una associazione
internazionale per la standardizzazione delle informazioni e dei
sistemi di comunicazione.
La prima versione documentata come ECMA-262 è visibile al seguente
indirizzo ( www.ecma.ch/ecma1/stand/ecma-262.htm
), ed è registrata come ISO-16262, dove ISO significa
International Standard Association. ( www.iso.ch )
Bisogna specificare che lE.C.M.A. non descrive i D.O.M.
(Document Object Model), che, invece, sono di competenza del consorzio
W3C. ( www.w3.org )
I Document Object Model, definiscono il modo in cui gli
oggetti vengono preparati e le modalità con cui possono essere utilizzati
e manipolati.
Netscape Navigator e Microsoft Internet Explorer utilizzano D.O.M.
personalizzati per il proprio browser. Per questo motivo un programma
Javascript che utilizza gli oggetti, può comportarsi in maniera
differentemente a seconda del browser usato. Entrambe le società
hanno sottoposto per la standardizzazione il loro D.O.M.
al Consorzio World Wide Web (W3C) che ha lonore ma
sopratutto lonere della mediazione.
Come andrà a finire la guerra dei browser ? Staremo
a vedere, anche se ho limpressione che attualmente Microsoft
Internet Explorer, abbia il favore del pronostico quasi sotto ogni
punto di vista.
Riprenderemo questo discorso nella prossima lezione, parlando di
Jscript, la versione Javascript personalizzata dalla Microsoft,
vedremo come si è sviluppato, parallelamente alla versione madre
Javascript della Netscape.
Torna all'indice Generale del corso di Corso di JavaScript di Software Planet