Cos’è l’AJAX?

AJAX è un termine usato per descrivere un approccio alla progettazione e implementazione di applicazioni web. È l’acronimo di JavaScript asincrono e XML. Il termine è stato introdotto per la prima volta in un articolo di Jesse James Garrett di Adaptive Path, una società di web design con sede a San Francisco. Ha concepito il termine quando ha realizzato la necessità di un modo facile e vendibile per proporre un certo stile di progettazione e costruzione ai clienti.

Lo scopo principale di AJAX è aiutare a far funzionare le applicazioni web in modo più simile alle applicazioni desktop. HyperText Markup Language (HTML), il linguaggio che guida il World-Wide Web, è stato progettato attorno all’idea di ipertesto: pagine di testo che potrebbero essere collegate al proprio interno ad altri documenti. Affinché l’HTML funzioni, la maggior parte delle azioni che un utente finale esegue nel proprio browser invia una richiesta al server web. Il server quindi elabora quella richiesta, forse invia ulteriori richieste e alla fine risponde con qualsiasi richiesta dell’utente.

Sebbene questo approccio possa aver funzionato bene agli albori di Internet, per le moderne applicazioni Web, la costante attesa tra i clic è frustrante per gli utenti e serve a smorzare l’intera esperienza. Gli utenti si sono abituati a risposte velocissime nelle loro applicazioni desktop e non sono contenti quando un sito web non può offrire la stessa risposta immediata. Aggiungendo un ulteriore livello tra l’interfaccia utente e la comunicazione con il server, le applicazioni AJAX rimuovono gran parte del ritardo tra l’interazione dell’utente e la risposta dell’applicazione. Man mano che AJAX diventa più comune nelle applicazioni Web più diffuse, gli utenti si abituano sempre più a questa risposta immediata, contribuendo a spingere più aziende ad adottare le metodologie AJAX.

Un’applicazione AJAX è costituita da una serie di applicazioni utilizzate insieme per creare un’esperienza più fluida. Ciò include Extensible HTML (XHTML) e Cascading Style Sheets (CSS) per costruire rispettivamente la struttura della pagina sottostante e il suo stile visivo; una sorta di suite di interazione che utilizza il Document Object Model; manipolazione dei dati mediante Extensible Markup Language (XML); recupero dei dati utilizzando XMLHttpRequest; e JavaScript per aiutare questi diversi elementi a interagire tra loro. AJAX si sta diffondendo rapidamente in tutto il web, con esempi visibili in molti dei principali siti. Google Maps, ad esempio, incarna in molti modi l’etica del modello AJAX, con le sue complesse funzionalità e l’interattività praticamente senza soluzione di continuità.

Come la maggior parte delle filosofie emergenti dello sviluppo web, AJAX ha la sua parte di detrattori. Un argomento comunemente avanzato contro AJAX è che in molti casi interrompe alcune funzionalità previste, come l’uso del pulsante Indietro, causando confusione. Sebbene esistano alcune correzioni per molte di queste interruzioni, raramente vengono implementate nella misura in cui il comportamento di un’applicazione AJAX è conforme al comportamento previsto del browser più grande.