WEB 2.0 – Axterisco & Ajax

L’arrivo di Ajax nel panorama informatico (o meglio la sua riscoperta) ha portato un piccolo sconvolgimento nel panorama informatico, ed Axterisco, da sempre impegnata nello sviluppo di soluzioni web basate sulle tecnologie più recenti, ha colto al volo le potenzialità offerte da Ajax, introducendolo nelle proprie realizzazioni.

Cos’è AJAX?

AJAX (Asynchronous JavaScript and XML) è un termine coniato recentemente per descrivere due utili funzionalità che sono presenti nei browser da anni, ma che sono state sottovalutare dalla maggioranza degli sviluppatori web fino a quando, di recente, alcune applicazioni come Gmail, Google Suggest e Google Maps le hanno portate in auge.

Le funzionalità di cui stiamo parlando sono:

  • la possibilità di eseguire richieste al server senza ricaricare la pagina
  • la possibilità di interpretare e lavorare con i documenti XML

Per effettuare una richiesta HTTP al server utilizzando JavaScript, si utilizza un’istanza di una classe che fornisce detta funzionalità. Tale classe è stata introdotta originariamente in Internet Explorer come oggetto ActiveX e si chiamava XMLHTTP. Successivamente Mozilla, Safari e altri browser hanno implementato la classe XMLHttpRequest, che supporta gli stessi metodi e le stesse proprietà della classe di Microsoft.

Questo oggetto permette di effettuare la richiesta di una risorsa (con HTTP) ad un server web in modo indipendente dal browser. Nella richiesta è possibile inviare
informazioni, ove opportuno, sotto forma di variabili di tipo GET o di tipo POST in maniera simile all’invio dati di un form.

La richiesta è asincrona, il che significa che non bisogna necessariamente attendere che sia stata ultimata per effettuare altre operazioni, stravolgendo sotto diversi punti
di vista il flusso dati tipico di una pagina web.

Generalmente infatti il flusso è racchiuso in due passaggi alla volta, richiesta dell’utente (link, form o refresh) e risposta da parte del server per poi passare,
eventualmente, alla nuova richiesta da parte dell’ utente.

Il terzo ed inevitabile incomodo di questo ciclo è l’attesa che trascorre tra una richiesta dell’utente e la risposta del server. Con l’aggiunta di AJAX si perde questa
linearità e mentre l’utente è all’interno della stessa pagina le richieste sul server possono essere numerose e completamente indipendenti.
Nulla infatti vieta, teoricamente, di effettuare decine di richieste simultanee al server per operazioni differenti con o senza controllo da parte del navigatore.

Ciò che resta del vecchio flusso, il tempo di attesa, passa spesso in secondo piano ed in molti tipi di interazione è praticamente impercettibile. Ma attenzione poichè
questo tempo è anche uno dei maggiori problemi dell’utilizzo di AJAX, sia per gli sviluppatori sia per i navigatori.

I primi potrebbero trovarsi in difficoltà qualora l’operazione asincrona dovesse attendere assolutamente una risposta al fine di completare una serie di operazioni più o meno sensibili mentre i secondi potrebbero non avere idea di cosa stia accadendo alla pagina chiudendola ignari di aver richiesto un’informazione. Tra i vantaggi più immediati che l’implementazione di Ajax concede alle applicazioni web si segnala l’impressione di avere a che fare con pagine apparentemente più
interattive, dinamiche e professionali è praticamente immediata. L’effetto novità si aggiunge prepotentemente alla lista, stuzzicando la curiosità del navigatore.

Tra gli svantaggi va rimarcato il fatto, esclusivamente pratico, probabilmente il più noto nonché fastidioso: l’uso dei tasti ‘avanti’ e ‘indietro’ presenti nei browser;
qualsivoglia interazione asincrona, da comunque la sensazione di aver cambiato stato alla pagina e l’abitudine a tornare indietro, qualora il risultato non dovesse essere
quello sperato, è intrinseca nel navigatore nonché lecita. La soluzione a questi problemi non è semplice ed i motivi sono diversi, tuttavia stanno già comparendo nel
panorama ajax alcune interessanti proposte per ovviare a questa carenza.

0 comments on “WEB 2.0 – Axterisco & AjaxAdd yours →

Lascia una risposta

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>