tizianocavigliablog
One nerd to rule them all.

AJAX 06.04.06

AJAX è l'acronimo di Asynchronous JavaScript and XML.
Si tratta di una tecnica, AJAX non è un linguaggio, per sviluppare applicazioni web dinamiche usando una combinazione di:

  • XHTML e CSS: per lo sviluppo del layout e della grafica;
  • DOM: è lo standard ufficiale del W3C per la rappresentazione di documenti strutturati come modello orientato agli oggetti;
  • XMLHttpRequest: è un set di API, ovvero un insieme di procedure disponibili al programmatore, di solito raggruppate a formare un insieme di strumenti specifici per un determinato compito, che possono essere usate da linguaggi di scripting (come JavaScript, VBScript, ecc.) per trasferire dati da e verso un web server tramite il protocollo HTTP.
    XMLHTTP possiede dunque il vantaggio di permettere l'aggiornamento dinamico di una pagina web senza la necessità di ricaricare l'intera pagina.

Al contrario delle applicazioni web tradizionali, AJAX fa sì che si possano 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.

Questo fa sì che, al contrario delle applicazioni web tradizionali, si ottengano risultati più velocemente dato che la quantità di dati interscambiati fra il browser ed il server si riduce.

Purtroppo ci sono anche dei lati negativi.
Non tutti i browser, e le relative versioni, interpretano allo stesso modo i linguaggi di scripting, o implementano correttamente il DOM.
Per cui vale sempre la regola di progettare applicazioni testandole sulla più ampia gamma di browser ed eventualmnte provvedendo a fornire valide alternative in caso di scarsa compatibilità.

Vale la pena tenere a mente che l'uso massiccio di AJAX può generare gravi problemi di accessibilità, tali da compromettere la corretta navigazione e fruizione del sito e dei suoi dati.
Come sempre la regola aurea del "progettare con criterio" permette di arginare questi inconvenienti.

Crosspost su Rhadamanth.net Weblog, Voice over IT.