Corso di JavaScript

JavaScript Client-Side / Server-Side

 

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 dall’alto 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 l’interfaccia con l’utente 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 dell’utilizzo di Javascript è evidente l’affidabilità; infatti un linguaggio interpretato ha il codice visibile o in chiaro, quindi i sorgenti sono a disposizione di chiunque, attraverso il browser. D’altro canto risulta evidente l’impossibilità di proteggere il codice, anche se quest’ultimo venisse tutelato dalle leggi sul diritto d’autore.
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 nell’intestazione (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.

L’associazione 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 l’E.C.M.A. (European Computer Manufactured Association), al fine di rendere standard il linguaggio Javascript, infatti l’E.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 l’E.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 l’onore ma sopratutto l’onere della mediazione.
Come andrà a finire la ‘guerra dei browser’ ? Staremo a vedere, anche se ho l’impressione 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