gridlab

Fenomeno Ajax: Applicazioni Web vs Applicazioni Desktop

June 20th, 2007 · No Comments

Nei post precedenti abbiamo parlato di Application Programming Interfaces (API), di Web Services e di come il web si stia trasformando di fatto in una Service Oriented Architecture (SOA).

Un altro dei cardini sui quali si snoda il fenomeno web 2.0 è Ajax (Asynchronous JavaScript and XML).

E’ una tecnica per lo sviluppo dei applicazioni web interattive che di fatto sta colmando il vuoto tra le applicazioni desktop alle quali siamo abituati e quelle disponibili su internet sotto il profilo dell’esperienza utente.

Per fare un esempio pratico, grazie ad Ajax è possibile sposate con il drag and drop oggetti presenti su una pagina web come si fa normalmente con le icone sul proprio desktop.

Un vantaggio dell’uso di Ajax sta nel suo essere indipendente dal sistema operativo e dalle architetture e dai web browsers. E’ basato su standard aperti come Javascript e XML ed in continua evoluzione grazie a diverse comunità open source che contribuiscono al suo sviluppo ed alla sua diffusione. La più importante è Open Ajax.

Ajax è una tecnica e non una tecnologia; combina diversi linguaggi e tecnologie.

Semplificando notevolmente, Ajax aggiunge un livello di elaborazione nei sistemi basati sul web tra l’utente che interagisce ed il server che risponde. Invece di caricare una pagina web all’inizio della sessione, il browser carica un “motore” Ajax (JavaScript) che è il responsabile del rendering della pagina e della comunicazione con il web server (al posto dell’utente) permettendo l’interazione asincrona con l’applicazione. L’utente quindi non percepisce più i tempi di di risposta del server (schermate bianche o la classica clessidra).
Se il motore Ajax ha bisogno di effettuare chiamate al server http per fornire l’output richiesto dall’utente (ad esempio validazione dei dati, modifica di dati su un database remoto etcc) le effettua in maniera asincrona usando XML ma senza far percepire all’utente momenti di stallo nell’esperienza utente.
Ajax non ha ancora raggiunto un livello di maturità necessario per il grande balzo dal personal computing al network computing ma la strada è tracciata.

Ci sono ancora alcune questioni aperte:

  • il problema della sincronia delle applicazioni web e del loro utilizzo off line;
  • il pieno supporto di Ajax per le Rich Internet Media (ancora dominate da Flash);
  • l’indicizzazione delle pagine Ajax nei motori di ricerca.

Il primo punto supererà le limitazioni dello javascript che non è in grado di scrivere informazioni sui dischi locali. La soluzione più probabile è quella di installare un database (SQLlite, il candidato) nei client che gestisca e strutturi le informazioni fondamentali che si scambiano durante l’interazione con le applicazioni web.

Google è in pole position con Google Gears un plugin per firefox anch’esso basato su SQL Lite. Firefox 3 avrà la stessa tencologia nativa e si candida ad essere il client universale.

Sul fronte Rich Internet Media e Applications, Adobe con Air (Adobe Integrated Runtime) punta su un modello di sviluppo slegato dal browser ma direttamente collegato alle piattaforme desktop (Mac Os X, Windows).

Scaricando l’ambiente di runtime si potranno far girare applicazioni che prendono i dati dalla rete ma “vivono” direttamente sul desktop (come i widget di macintosh) e e si appoggiano anch’esse SQLite saranno in grado di funzionare off line e sincronizzarsi non appena connesse di nuovo in rete. Un modello che punta più sul lato personal che non sul lato network di questa convergenza di applicazioni e dati sulla rete.

Sul fronte motori di ricerca la partita è tutta da giocare. Ajax e a maggior ragione AIR creano dei problemi visto che i motori di ricerca indicizzano dando peso ai tag html e al testo contenuto nei siti. Il problema non è nuovo ma a differenza dei tempi del Flash ci sono le folksnomies e il social networks che fungono da “assistenti” dei motori di ricerca. Ma è forse il punto ancora più lontano da una soluzione soddisfacente.

ll problema forse più sentito per le applicazioni web consumer che non per quelle destinate al mondo enterprise dove la ricerca e l’indicizzazione dei dati gode del vantaggio di un ambiente controllato di produzione e classificazione dei dati.

siti di interesse per approfondire:

Tags: programmable web

0 responses so far ↓

  • There are no comments yet...Kick things off by filling out the form below.

Leave a Comment