Scriptingweb.com - the code solution

Risorse, approfondimenti, supporto, analisi scripts

Home | Contattaci
Vai alla Home

Tecnologia AJAX



AJAX, acronimo di Asynchronous JavaScript and XML, è una tecnica di sviluppo per la realizzazione di applicazioni web interattive (Rich Internet Application). Lo sviluppo di applicazioni HTML con AJAX si basa su uno scambio di dati in background fra web browser e server, che consente l'aggiornamento dinamico di una pagina web senza esplicito ricaricamento da parte dell'utente. AJAX è asincrono nel senso che i dati extra sono richiesti al server e caricati in background senza interferire con il comportamento della pagina esistente. Normalmente le funzioni richiamate sono scritte con il linguaggio JavaScript. Tuttavia, e a dispetto del nome, l'uso di JavaScript e di XML non è obbligatorio, come non è necessario che le richieste di caricamento debbano essere necessariamente asincrone.
AJAX è una tecnica multi-piattaforma utilizzabile su molti sistemi operativi, architetture informatiche e browser web, ed esistono numerose implementazioni open source di librerie e framework.
La tecnica Ajax utilizza una combinazione di: HTML (o XHTML) e CSS per il markup e lo stile;
DOM (Document Object Model) manipolato attraverso un linguaggio ECMAScript come JavaScript o JScript per mostrare le informazioni ed interagirvi;
l'oggetto XMLHttpRequest per l'interscambio asincrono dei dati tra il browser dell'utente e il web server. In alcuni framework Ajax e in certe situazioni, può essere usato un oggetto Iframe invece di XMLHttpRequest per scambiare i dati con il server e, in altre implementazioni, tag script aggiunti dinamicamente;
in genere viene usato XML come formato di scambio dei dati, anche se di fatto qualunque formato può essere utilizzato, incluso testo semplice, HTML preformattato, JSON e perfino EBML. Questi file sono solitamente generati dinamicamente da script lato server.
Come DHTML o LAMP, Ajax non è una tecnologia individuale, piuttosto è un gruppo di tecnologie utilizzate insieme.
Le applicazioni web che usano Ajax richiedono browser che supportano le tecnologie necessarie (quelle dell'elenco sopra). Questi browser includono: Mozilla, Firefox, Opera, Konqueror, Safari, Internet Explorer e Chrome.
Per muovere i primi passi con AJAX non è indispensabile conoscere a fondo (X)HTML, CSS e nemmeno XML. Addirittura è possibile sapere poco anche di Javascript, ma almeno i concetti base sul cosa è una variabile o una funzione e quali sono gli eventi più comuni definibili all'interno dei tag della pagina sono necessari. A grandi linee si può affermare che è almeno indispensabile essere in grado di popolare una parte di una pagina con del testo definito in JavaScript.
In particolar modo bisogna conoscere l'attributo innerHTML di un elemento o le specifiche DOM create appositamente per aggiungere, popolare o modificare elementi della pagina. Nel caso di innerHTML non si fa altro che sovrascrivere il contenuto di un elemento del documento visualizzato e tutto quello che ci serve è una funzione in grado di restituirci l'elemento richiesto.
Le funzioni più note per fare questo sono 2, getElementById e getElementsByTagName ed entrambe possono essere sfruttate per usare il metodo innerHTML.
Le applicazioni AJAX costituiscono un tempo di reazione migliore e più efficiente, ed esse, postendo inviare richieste al web server per ottenere solo i dati che sono necessari, ottengono come risultato applicazioni più veloci dato che la quantità di dati interscambiati fra il browser ed il server si riduce, ed anche il tempo di elaborazione da parte del web server si riduce poiché la maggior parte dei dati della richiesta sono già stati elaborati.


La seguente immagine mostra come un'applicazione web tradizionale elabora l'interazione dell'utente e come lo fa invece un'applicazione AJAX.
vedi

La successiva raffigurazione mostra come i componenti delle applicazioni AJAX interagiscono tra loro comparandolo con quello che accade nelle applicazioni web classiche.
vedi