Tratto dal corso "Siti Web: progettazione e realizzazione" presente nella didateca del Progetto Trio
I linguaggi della rete
DHTML e DOM
La diffusione dei linguaggi di script ha consentito
la creazione di pagine Web interattive e l'inserimento di piccoli effetti
grafici dinamici. Ma la capacità di produrre pagine Web in grado di modificare
totalmente il loro aspetto e la loro struttura senza interagire con il server
HTTP è stata raggiunta solo con l'introduzione della tecnologia conosciuta
con il nome di Dynamic HTML, o più brevemente DHTML.
In realtà, DHTML non esiste come linguaggio in sé,
ma è il prodotto della convergenza di una serie di tecnologie già esistenti,
mediate da un insieme di regole che permettono di usare i fogli di stile e
un linguaggio di script per modificare l'aspetto e il contenuto di una pagina
Web quando si verifica un dato evento, come per esempio un click o uno spostamento
del mouse. Il risultato sono pagine Web dinamiche, ossia che possono modificarsi
senza essere ricaricate dal server.
Le tecnologie alla base di DHTML sono le seguenti:
| • |
CSS, come linguaggio per la specificazione degli stili; |
| • |
Javascript o VBscript, come linguaggi di script per applicare effetti dinamici alla pagina; |
| • |
Il Document Object Model (DOM), che specifica un'application Programming Interface (API) per i documenti HTML e XML. |
Il motore del DHTML
è il DOM. Esso fornisce una descrizione astratta del documento in termini
di oggetti, o meglio, di un albero di oggetti che corrisponde alla struttura
logica del documento definita dalla sua codifica HTML o XML. Ogni elemento
del documento ha quindi una sua rappresentazione come oggetto nel DOM. Per
ciascun oggetto il DOM specifica alcune proprietà, che possono essere modificate
al verificarsi di un evento (il passaggio o il click del mouse) mediante una
procedura in un determinato linguaggio.
La tecnologia DHTML presenta tre vantaggi fondamentali rispetto ai tradizionali sistemi di animazione delle pagine Web:
| • |
Consente di ottenere effetti grafici molto spettacolari in modo assai semplice. In particolare, è possibile creare: a) stili dinamici, che cambiano l'aspetto di una pagina; b) contenuti dinamici, che ne modificano il contenuto; c) posizionamento dinamico, che consente di muovere i componenti di una pagina su tre dimensioni in modo da ottenere pagine a strati o effetti di comparsa e scomparsa di blocchi di testo e di immagini. |
| • |
Permette di ottenere gli effetti descritti sopra con una efficienza e una velocità molto superiori. Quando viene scaricata una pagina dinamica il client riceve tutti i dati che la compongono, anche se ne mostra solo una parte; gli effetti dinamici, dunque, utilizzano dati collocati nella memoria locale o nella cache, senza dover richiedere dati al server per applicare le trasformazioni alla pagina corrente. |
| • |
L'elaborazione di istruzioni DHTML risulta meno onerosa ,dal punto di vista computazionale, rispetto alla esecuzione di codice Java. |
Purtroppo, a fronte
di questi vantaggi, DHTML soffre per ora di un grosso limite: le implementazioni
di questa tecnologia proposte da Microsoft e da Netscape sono assai diverse.
Così una pagina dinamica che funziona sul browser Netscape non viene letta
da Explorer, e viceversa.
In particolare, la differenza risiede proprio nella
implementazione del DOM, ossia nei metodi e nelle proprietà associati ad ogni
elemento del documento che possono essere modificate mediante gli script.
Se volete approfondire l’argomento, potete consultare
la sezione dedicata a DOM del sito ufficiale del World Wide Web Consortium (W3C
Siti dinamici con Macromedia Flash
Nella Sezione 9 abbiamo introdotto Macromedia Flash,
il software più apprezzato e utilizzato per creare animazioni su Internet.
Flash, tuttavia, non si limita a produrre animazioni
da inserire all’interno delle normali pagine Web, ma consente anche di costruire
interi siti basati sulla dinamicità e sull’interattività.
Vi sarà certo capitato di entrare in siti in cui i
menu di navigazione venivano creati dinamicamente, muovendosi e mutando la
forma e il colore, con una grafica accattivante e un design ultra moderno.
Spesso tali siti vengono progettati interamente con
Macromedia Flash.