bookmark bookmark
cifero On dicembre - 3 - 2005

ajax e\' gia\' qui

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:

  1. Nuovo App Store
  2. Palm rilascia il nuovo Treo 680 Slim a basso costo
  3. Commenti sul nuovo arrivato 10.5 parte II
  4. Installare MySQL 5 su 10.4 (Tiger)
Categorie: recensioni, webdev
  • can3ro55o

    anche se non penso di cimentarmi nella creazione di una web application, avere qualche pillola di tecnologia non mi dispiace affatto.

    Like or Dislike: Thumb up 0 Thumb down 0

  • Elio

    Non è oro tutto quello che sembra, però.
    È una bella svolta, sicuramente, ma non è compatibile con parecchi browser, e inoltre è una soluzione per niente scalabile.
    Vi immaginate quante richieste al server ci sono da parte dell’utente?
    Con i metodi classici, con una richiesta si poteva soddisfare più di una cosa, mentre con AJAX per ogni azione (Controllare la grammatica, validare il formulario, ecc. ecc.) consegue una richiesta al server.
    Su un forum di microsoft, c’era un utilizzatore di AJAX con IIS, che si è stupito, perché non gli funzionavano le applicazioni.
    Chiaro, il suo IIS non supportava più di 10 connessioni alla volta…

    Like or Dislike: Thumb up 0 Thumb down 0

  • http://www.mactutorials.it Olivs

    Per quel poco che so di Ajax, ho sempre visto siti che fanno uso di Apache 2, e ben configurato. Nell’articolo si parla di Flickr, che a mio avviso rimane veloce, anche se non si azzardano a rilasciarne una versione non beta. Questo chiaramente implica che per arrivare ad avere una webapp completa e sicura probabilmente ci vuole ancora un po’ di tempo, ma spero in bene

    Like or Dislike: Thumb up 0 Thumb down 0

  • http://www.mactutorials.it cifero

    Elio ha ragione sui problemi , senz’altro, sopratutto per la compatibilita’.
    C’e’ da dire pero’ che per quanto riguarda questo genere di applicazioni
    siamo davvero allo stato di beta generale per l’intero web.
    Per questo credo che sia comunque interessare tenere d’occhio la cosa,
    dato che e’ in sicura e piena espansione a giudicare in primis dagli ingenti investimenti effettuati dai principali colossi del web.

    Like or Dislike: Thumb up 0 Thumb down 0