San Francisco, 9 maggio. Si aprono le porte dell’AJAX Summit. L’evento è accessibile su invito e vi prendono parte solo addetti ai lavori. Tra gli invitati più in vista Apple, eBay, Google e Macromedia. A fare gli onori di casa, insieme al team O’Reilly, c’è Jesse James Garret, il fondatore di Adaptive Path e ideatore della User Experience Strategy, nonché colui che ha coniato il nome AJAX, battezzando e formalizzando questo approccio innovativo ed emergente per l’interattività delle applicazioni web.
AJAX sta per Asyncronous Javascript + XML. È una tecnica che permette l’aggiornamento dei dati in una pagina web senza ricorrere ad un nuovo caricamento della pagina stessa. In realtà, sotto il nome di AJAX sono racchiuse alcune delle più usate tecnologie dello strato di presentazione e di business delle applicazioni web (CSS, Javascript, XHTML, DOM, XML, XSLT).
Una delle lacune più sentite nelle applicazioni web è quella della interattività. Tipicamente una pagina web di una applicazione viene richiesta dal browser al server web,
essa presenta la possibilità di aggiornare i propri contenuti, ma per farlo va mandata una interrogazione alla base di dati per esempio. Occorre generare una nuova richiesta al server, attendere che questa venga elaborata e che il server rispedisca la pagina web al browser con i dati aggiornati.
Spesso l’aggiornamento riguarda tabelle con poche righe o caselle di scelta multipla con contenuti che si condizionano a cascata. Sarebbero poche le informazioni da far viaggiare in rete. Ciononostante viene rispedito tutto il layout della pagina.
Questo implica un traffico di rete maggiore rispetto all’invio dei soli dati veramente necessari, quindi un ritardo prima del nuovo caricamento che, in alcune occasioni, rende meno fluida l’interazione e, soprattutto con connessioni lente, crea un certo disagio.
La novità più interessante dell’approccio AJAX è l’uso più intensivo dell’elaborazione lato-client ed in particolare di un oggetto XMLHTTPRequest che permette di inoltrare una richiesta ad un server tramite Javascript durante l’esecuzione della pagina.
All’interno del browser vengono scatenati gli eventi (su click, su selezione, su sottomissioni di form, ecc.) che prevedono interrogazioni sul server. Essi vengono captati dall’AJAX Engine, che altro non è che un infrastruttura di gestori (handlers) in Javascript che a loro volta inoltrano la richiesta dei dati al server.
Le richieste dei dati vengono spedite tramite un oggetto XMLHTTPRequest che può essere considerato un vero e proprio client HTTP all’interno del browser. Questo “client secondario” richiede al server documenti XML generati dinamicamente a seconda dei dati necessari.
In questo modo vengono inviate solo le informazioni necessarie alla richiesta specifica dell’utente con un conseguente alleggerimento delle transazioni ed una sensazione di continua interattività con la pagina.
Sviluppare AJAX non significa dunque imparare un nuovo linguaggio o installare un plug-in o una macchina virtuale. Piuttosto prevede l’apprendimento e l’uso di una tecnica che coinvolge tecnologie già esistenti.
Alcuni strumenti però ci sono: Sajax, Dojo, AJAX.net, ed ambienti di sviluppo come TIBCO General Interface sono buoni punti di partenza per avvicinarsi a questo mondo.
Gli ajaxiani a San Francisco hanno trovato un luogo di confronto ed analisi e pur celebrando i successi conseguiti da questa metodologia come GMail, Google Suggest e Google Maps per citarne alcuni, si concentrano sul futuro.
È lo stesso J.J.Garret ad individuare i percorsi da battere nella evoluzione e le opportunità che offre AJAX. Molte delle considerazioni sono orientate alla introduzione di un modo nuovo di fare web design, di progettare applicazioni e interfacce.
Punti di partenza sono la più forte compatibilità tra browser ed un web design sempre più orientato all’uso dei CSS. Condizioni che rendono maggiormente portabili le applicazioni ed obsoleti i pesanti plugin (Java, Flash, ecc.) che spesso venivano usati per favorire una maggiore interattività dei contenuti.
Emerge anche un sano spirito critico in ci si interroga sulla opportunità di usare questo approccio senza farsi prendere troppo da facili entusiasmi.
Sono stati evidenziati i margini di miglioramento. Si cercano delle soluzioni all’integrazione con i browser dove, per esempio, una azione come tornare indietro nella navigazione o creare un segnalibro assumono un significato diverso da quello tradizionale.
Si valutano problematiche come quella della accessibilità, della sicurezza, della portabilità su dispositivi mobili. Ma si pensa anche a questioni più venali, per esempio a come gestire banner pubblicitari e contatori di visite.
Si è discusso anche sui tempi di realizzazione: produrre una interfaccia che usi AJAX richiede più tempo di quanto ne richieda l’equivalente tradizionale.
A soli tre mesi dalla sua definizione, felicemente ideata da Jesse James Garret di Adaptive Path il 18 febbraio 2005, AJAX promette di cambiare l’esperienza dell’utente e di mettere sui nostri browser l’immediatezza delle applicazioni desktop ed apre un sentiero nuovo anche nell’approccio alla progettazione. Visto l’interesse di grandi società come Google è lecito pensare che una tale promessa sia già realtà.