domenica 15 luglio 2007

Introduzione su AJAX

AJAX è l'acronimo di Asynchronous JavaScript and XML, più che essere una specifica tecnologia è una tecnica per lo sviluppo di applicazioni web interattive, che utilizza un insieme di diverse tecnologie, tra qui le più importanti sono JavaScript e l'oggetto XMLHttpRequest (XHR).

Il vantaggio principale apportato dall'uso di AJAX è di ottenere pagine web che rispondono immediatamente alle selezioni dell'utente, senza che debba attendere il ricaricamento dell'intera pagina.


Il motore XHR AJAX è un oggeto JavaScript che viene chiamato ogni volta vi sia la necessità di richiedere dati al server.
In sostanza ogni link effettua una chiamata al motore AJAX, che schedula ed esegue la richiesta, che viene effettuata in modalità asincrona, cioè il codice d'esecuzione non attende la risposta per continuare.
Il server che normalmente restituisce dati HTML, immagini, CSS, JavaScript, è configurato per dare informazioni che possono essere trattare dal motore AJAX, come ed esempio semplice testo, XML o altri formati interpretabili da AJAX.
Alla risposta dal server l'oggetto XHR effettua il parsing dei dati e riconfigura l'interfaccia utente sulla base delle informazioni ricevute.
Per il fatto che la quantità di dati scambiata con il server è molto minore rispetto le tradizionali applicazioni web, l'aggiornamento dell'interfaccia e le attività dell'utente vengono eseguite più velocemente.



In sintesi AJAX come funziona:
- chiama qualque tecnologia server-side che può ricevere richieste provenineti da un client
- processa le richieste a livello remoto sul server
- restituisce al browser del client e risultati dei processamento efettuto lato server
- esegue ulteriori elaborazioni dei dati a livello client come per esempio modifiche al DOM.

Tecnologie utilizzate da AJAX:
Componenti client-side
XHTML: linguaggio per la rappresentazione dei contenuti primari (necessaria)

CSS: formattazione degli stili della pagina XHTML (ozionale)

DOM: aggiornamento dinamico della pagina caricata nel browser (necessaria)

XML: formato per lo scambio dei dati (ozionale)

XSLT: trasformazione da XML in XHTML (secondo lo stile CSS) (ozionale)

XMLHttp: mediatore (broker) per le comunicazioni primarie

JavaScript: linguaggio di scripting usato per programmare un motore AJAX (necessaria)

Componenti server-side
PHP
Java servlets
.NET
altri application server
l'importante è assicurare il corretto formato dei dati da reinviare al motore AJAX

Nessun commento: