
E’ gia’ intorno a noi: usiamo applicazioni web basate su Ajax quotidianamente ed e’ probabilmente la piu’ grande novita’ nell’ambito dello sviluppo web degli utlimi tempi.
Vediamo che cos’e', come funziona e qualche esempio pratico.
CHE COS’E’ AJAX
Cominciamo coon una definizione chiarificatrice: Ajax e’ un acronimo che sta per Asynchronous Javascript and XML.
E’ quindi un “sistema” per sviluppare applicazioni web interattive e dinamiche molto efficienti, facendo uso di:
- HTML (o XHTML) e CSS
- Il DOM (Document Object Model) modificato per permettere a Javascript di mostrare informazioni dinamiche senza ricaricare la pagina
- L’oggetto XMLHttpRequest, che serve a scambiare dati tra server e client in modo asincrono
Percio’ Ajax, come d’altra parte il piu’ noto DHTML, non e’ una tecnologia ma un insieme di strumenti usati all’unisono, che possono anche sviluppare delle tecnologie specifiche, ma non lo sono a loro volta. Sono strumenti.
La novita’ esplosiva sta proprio nel mix di strumenti chiamato Ajax e che permette la creazione di applicazioni web molto piu’ rapide e semplici rispetto al passato. Proviamo a vedere come funziona paragonandolo alle web application “classiche”.
COME FUNZIONA AJAX
Fino ad oggi le applicazioni web hanno funzionato e continuano a funzionare (e non si estingueranno molto presto ) in questo modo:
un’azione dell’utente sulla pagina mediante ad esempio un bottone fa partire una chiamata HTTP verso il server. Il server esegue alcune operazioni: riceve i dati, li legge, esegue analisi ad esempio e poi risponde alla pagina del client rinviando altri dati.
E’ un approcio noto, basato sul concetto stesso di ipertesto.
Ma non e’ sempre comodo nel caso in cui si voglia sviluppare un’applicazione web.
Infatti dal punto di vista della user experience non e’ il massimo:
mentre il server elabora, noi che facciamo? Aspettiamo.
E se nel form di prenotazione, ad esempio, abbiamo sbagliato un dato o abbiamo scordato di inserirlo, la pagina ci viene restituita di nuovo da compilare fino a che non arrivamo alla fine dell’operazione.
Abbastanza scomodo no?
Ajax agisce in modo differente, annullando tutti quegli stop-and-go tipici dei form delle web application.
Viene introdotto un intermediaro tra server e client: l’engine di Ajax.
Si potrebbe pensare che aggiungere un livello tra i due significhi aumentare ancora di piu’ i tempi di attesa, ma non e’ affatto cosi’.
Invece di caricare una pagina web all’inizio della sesssione di collegamento, il browser carica l’engine di Ajax che e’ scritto in Javascript e nomalmente risiede in un frame invisibile della pagina.
Tale engine si occuppa sia di visualizzare le modifiche visive all’interfaccia effettuate dall’utente, sia di comunicare con il server.
La grande’ novita’ e’ che Ajax permette il dialogo client’server in modo asincrono e indipendente. In questo modo la maggior parte dei calcoli avviene dietro le quinte mentre si e’ all’interno della web application e i tempi di attesa vengono in questo modo minimizzati:
non ci sono attese di caricamento difronte a pagine bianche e la user experience schizza alle stelle!
ESEMPI DI VITA REALE
Ora che sappiamo cos’e’ Ajax e come funziona, riportiamo alcuni esempi si servizi basati su Ajax che tutti noi stiamo gia’ usando da tempo, magari senza saperlo.
Il piu’ grande investimento lo ha compiuto Google: tutti i suoi prodotti maggiori introdotti nell’ultimo anno sono basati su Ajax.
Tutte le volte che riuscite a zoomare, spostare, modificare la pagina senza avere la necessita’ di ricaricarla, allora siete su Ajax.
Stiamo parlando della societa’ numenro uno della Rete.
Ma vediamo altri esempi noti e meno noti, di Ajax.
BlogChat
Sistema chat online
del.icio.us
Sistema per la condivisione online dei bookmarks
FeedMarker
Bookmarks manager e aggregatore newsfeeds.
Flickr!
Condivisione online di foto
ajallerix
Creazione di gallerie fotografiche sul web
AjaxPortal
3bases
motore di ricerca basato su informazioni condivise socialmente
Gollum
Browser per la wikipedia
Mi fermo qui, ma ce ne sono moltissimi altri.
CONCLUSIONI
Credo di aver reso l’idea di cosa sia Ajax e di quali cambiamenti siano in corso nella Rete.
Certo non abbiamo affrontato tutti gli argomenti: non abbiamo parlato della compatibilita’ con i browser, di quali accortezze vanno prese nell’accingersi a sviluppare su Ajax e di quali siano i casi in cui , invece,
le vecchi web application funzionino ancora meglio.
La prossima volta che parleremo di Ajax proveremo a cimentraci in un piccolo esempio pratico di come si proogetta una mini web application con questo sistema.
Alla prossima!
Articoli correlati:


