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.

Tra i siti Flash meglio realizzati e più imitati, per il suo design sofisticato e allo stesso tempo essenziale ed elegante, vi segnaliamo Wallpaper.com.

JavaScript

JavaScript è stato creato da alcuni programmatori di Netscape nel 1995, per apportare dinamicità alle pagine Web in modo più facile rispetto al "fratellone" Java.
Javascript è un linguaggio interpretato, quindi non deve essere eseguito, ed è molto semplice da imparare.

Viene inserito all’interno del codice HTML della pagina e interpretato dal browser riga per riga: il browser recupera una riga dello script, la interpreta, esegue le istruzioni e passa alla riga seguente.
Essendo molto semplice, anche operazioni non molto complesse spesso richiedono la stesura di pezzi di codice piuttosto lunghi.

JavaScript è il linguaggio di scripting più diffuso ed utilizzato. È sicuro e affidabile ed è eseguito sul client, lasciando il server libero da carichi computazionali aggiuntivi a quelli che già deve sopportare.
Tuttavia, ha limitate capacità operative, e infatti viene spesso integrato con altre tecnologie per svolgere operazioni complesse, in particolare per implementare compiti di sicurezza.

Ogni script deve essere scaricato per intero prima di essere eseguito, e ciò può rallentare la visualizzazione nel caso di script molto lunghi. Ma il problema forse più importante degli script è che il codice può essere letto da chiunque acceda alla pagina che li contiene. Quindi spesso non conviene creare script potentissimi, spendendoci tempo o denaro: sarebbe come fare beneficenza alla Rete.

<!-- w w w . h t m l . i t -->
<HTML>
<HEAD>
<!-- Codice scaricato gratuitamente da HTML.it, il sito italiano sul Web publishing
http://www.html.it -->
<TITLE>Esempi Javascript: esempio pratico </TITLE>
<script language="JavaScript">
<!--
var id,pause=0,position=0;
function scorrevole() {
var i,k,msg=" HTML.it, il sito italiano sul Web publishing ";
k=(100/msg.length)+1;
for(i=0;i<=k;i++) msg+=" "+msg;
document.form2.scorrevole.value=msg.substring(position,position+100);
if(position++==100) position=0;
id=setTimeout("scorrevole()",100); }
//-->
</script>
</HEAD>
<BODY bgcolor="white" onload="scorrevole()">
<form name=form2><input type="text" name="scorrevole" size="40"></form>
</body>
</html>
<!-- w w w . h t m l . i t -->

VisualBasicScript (Vbscript)

Anche Microsoft, come Sun, ha implementato un linguaggio di scripting per lo sviluppo scalare di applicazioni Internet ed Enterprise. Meglio conosciuto come Vbscript, è derivato appieno dal più famoso Visual Basic.

È un sistema di programmazione veloce, leggero e piuttosto semplice da utilizzare, ed è implementato per essere totalmente compatibile con i sistemi OLE, le applet e le altre tecnologie avanzate per il Web.
Essendo un linguaggio di scripting, presenta le medesime peculiarità del suo antagonista JavaScript, compresi gli svantaggi elencati nel paragrafo precedente.

Dialoga con le applicazioni utilizzando il linguaggio Scripting ActiveX della Microsoft, interpretato direttamente dal browser dal lato client.

Ciò gli consente di supportare in pieno tutte le funzionalità principali di Microsoft Internet Explorer e Microsoft Internet Information Server.

La tecnologia CGI

CGI significa "Common Gateway Interface". Si tratta di un "metodo" tra i più conosciuti e utilizzati nel mondo per interfacciare il Web con database, documenti o altre applicazioni, creando un ponte di invio e di ricezione dei dati tra client e server.

Utilizziamo il CGI per inoltrare una richiesta al server e farci mandare la risposta. Questa risposta sara’ poi visualizzata in modo classico dal browser.

Un CGI è una piccola applicazione (scritta in Perl o C) che risiede sul server, richiamata dalla pagina Web attraverso una semplice riga di codice HTML:
<form method="post" action="http://www.consorziosiab.it/cgi-bin/cgi2mail/form.c2m">

Elaborare dei CGI richiede un’adeguata preparazione su linguaggi di programmazione come Perl o C, oltre all’installazione sul proprio computer degli appositi compilatori.

E’ dunque consigliabile, per gli usi più comuni (counter, form, guest book ecc.), recuperare gratuitamente in Rete i CGI già pronti.

Come abbiamo visto nella Sezione 14, l’integrazione tra pagine Web e database viene sempre più spesso affidata a tecnologie più recenti quali le pagine ASP e PHP. Come i CGI, esse risiedono sul lato server, ma a differenza dei CGI, il loro codice è interpretato e non compilato. Tale caratteristica le rende più facilmente manutenibili: per apportare delle modifiche alla gestione della base dei dati, non vi è infatti bisogno di ricorrere ogni volta a lunghi procedimenti di ricompilazione.

La nuova era di Internet: XML

Internet, attualmente sta vivendo la sperimentazione dei metalinguaggi, ossia di linguaggi di mark-up di tipo descrittivo che offrono potenzialità maggiori rispetto all’HTML.

I metalinguaggi sono infatti estensibili, in quanto consentono di definire set personalizzati di tag. Possono inoltre salvaguardare gli elementi strutturali salvandoli in un file separato (il DTD, Document Type Definition); un procedimento di convalida attesta poi che il documento sia conforme alle norme del suo DTD.

Il primo vero linguaggio evoluto di questo tipo era SGML, lasciato tuttavia in disparte per la sua complessità sintattica.

Per questo il World Wide Web Consortium ha derivato da quest’ultimo un metalinguaggio più semplice, chiamato XML (Extensible mark-up Language).

Abbiamo parlato fino a ora di linguaggi di mark-up, ma cosa si intende con questo termine? Si tratta di qualsiasi cosa che, posta in un documento, vi aggiunge un particolare significato o informazioni. Il compito dei linguaggi come l'HTML e l’XML è quello di definire un insieme di regole per capire e interpretare che cosa significa ogni singolo mark-up: essi dichiarano che cosa costituisce il mark-up e qual è il suo significato.

La differenza sostanziale tra HTML e XML sta nel fatto che il primo è un sottoinsieme ristrettissimo del capostipite dei linguaggi di markup (SGML) e ha un insieme di tag prestabiliti e non modificabili, nè nel numero nè nella forma.

HTML è inoltre un linguaggio di pura presentazione: essendo molto ristretto, non consente la creazione di applicazioni avanzate.

XML si basa fondamentalmente su due caratteristiche vincenti :

  •

La possibilità di definire un DTD (Document Type Definition), attraverso il quale espandere il numero dei tag.

  •

La possibilità dei definire dei fogli stile, ossia diverse modalità di visualizzazione delle informazioni.


Queste caratteristiche consentono all'XML di evitare la ridondanza di certi comandi, con una conseguente riduzione delle dimensioni dei documenti.


La possibilità che ciascun autore possa definire i propri tag, attribuendo loro un particolare significato, facilita moltissimo la creazione di pagine dinamiche e interattive.


Purtroppo XML è per ora supportato da pochi browser (uno di questi è Internet Explorer). Bisognerà aspettare ancora qualche mese per vedere se prenderà piede e verrà adottato dalle software house come nuovo linguaggio per scrivere applicativi rivoluzionari.


Nel caso vogliate approfondire ulteriormente l’argomento potete consultare la sezione dedicata ai linguaggi di markup
del sito ufficiale del World Wide Web Consortium (W3C).

Chiudi