= Ajax = AJAX o Asynchronous JavaScript and XML è una tecnica per sviluppare applicazioni web interattive e dinamiche usando una combinazione di:
Vuoi provare una piccola demo relativa alla tecnologia Ajax applicata al framework di IGSuite?. Segui questo [http://www.igsuite.org/cgi-bin/demo3|link]
* HTML (o XHTML) e CSS per la parte visiva * DOM (Document Object Model) modificato attraverso JavaScript per mostrare dinamicamente le informazioni e interagirci * L'oggetto XMLHttpRequest per interscambiare e manipolare dati in modo asincrono tra il browser dell'utente e il web server (in genere viene usato XML e XSLT, anche se le applicazioni AJAX possono usare altre tecnologie, come l'HTML preformattato, testo semplice, JSON e JSON-RPC come alternativa a XML/XSLT). Come DHTML o LAMP, AJAX non è una tecnologia individuale, piuttosto è un gruppo di tecnologie utilizzate insieme. Infatti stanno già comparendo tecnologie basate sostanzialmente su AJAX, come AFLAX per esempio. [img://www.adaptivepath.com/images/publications/essays/ajax-fig1_small.png] Le applicazioni web che usano AJAX richiedono browser che supportano le tecnologie necessarie (quelle dell'elenco sopra). Questi browser includono: Mozilla, Firefox, Internet Explorer, Opera, Konqueror e Safari. Tuttavia "Opera non supporta la formattazione degli oggetti XSL" ==== Comparazione con applicazioni tradizionali ==== Le applicazioni web tradizionali consentono agli utenti di compilare moduli, e quando questi moduli vengono inviati, viene inviata una richiesta al web server. Il web server agisce in base a ciò che è stato trasmesso dal modulo e risponde bloccando o mostrando una nuova pagina. Dato che molto codice HTML della prima pagina è identico a quello della seconda, viene sprecata moltissima banda. Dato che una richiesta fatta al web server deve essere trasmessa su ogni interazione con l'applicazione, il tempo di reazione dell'applicazione dipende dal tempo di reazione del web server. Questo comporta che l'interfaccia utente diventa molto più lenta di quanto dovrebbe essere. Le applicazioni AJAX, d'altra parte, possono inviare richieste al web server per ottenere solo i dati che sono necessari (generalmente usando SOAP e JavaScript per mostrare la risposta del server nel browser). Come risultato si ottengono applicazioni più veloci (dato che la quantità di dati interscambiati fra il browser ed il server si riduce). Anche il tempo di elaborazione da parte del web server si riduce poiché la maggior parte di dati della richiesta sono già stati elaborati. Un esempio concreto: Molti siti usano le tabelle per visualizzare i dati. Per cambiare l'ordine di visualizzazione dei dati, con un'applicazione tradizionale l'utente dovrebbe cliccare un link nell'intestazione della tabella che invierebbe una richiesta al server per ricaricare la pagina con il nuovo ordine. Il web server allora invierebbe una nuova query SQL al database ordinando i dati come richiesto, la eseguirebbe, prenderebbe i dati e ricostruirebbe da zero la pagina web reinviandola integralmente all'utente. Usando le tecnologie di AJAX, questo evento potrebbe preferibilmente essere eseguito con uno Javascript lato client che genera dinamicamente una vista dei dati con DHTML. Fonte: Wikipedia [wikipedia:ajax]