Rich User Experience per applicazioni Web

Cos'è una Rich User Experience? Guardiamo ad esempio una comune applicazione Desktop, che gira direttamente sul computer in uso, per esempio una applicazione del pacchetto office. Essa risponde immediatamente alle richieste utente, modifica il suo stato a seconda degli input, modifica il suo comportamento in base agli ingressi da mouse e tastiera. L'utente comune è abituato a questo tipo di response da una applicazione, non c'è bisogno di cliccare un bottone od un link per cambiare lo stato dell'applicazione, come succede nelle comuni applicazioni web.

Le comuni applicazioni web, diciamo le applicazioni del Web 1.0, si basano sul paradigma "Click, wait and refresh", che sta a significare che se vogliamo cambiare lo stato di una applicazione dobbiamo cliccare un link ed aspettare che venga caricata la pagina seguente. I page refresh sono necessari per ogni operazione, che sia navigazionale oppure di submit dei dati. Devo ricaricare l'intera pagina sia se necessito una lunga lista di dati sia se le informazioni da cambiare nella pagina corrente sono poche. Questa interazione è considerata sincrona, nel senso che l'utente deve aspettare sino a che ricevo la risposta dal server.

Ciò significa perdere tempo, soprattutto se la connessione alla rete è lenta.Questo approccio al web ha gravi limitazioni: è lento e inusabile, in quanto tra una richiesta e l'altra l'utente non può fare nulla. Inoltre ogni volta che la pagina viene ricaricata noi la rileggiamo, fino a che non troviamo i dati che cerchiamo.

Le tecnologie che permettono una Rich Internet Application (RIA) sono applet, Macromedia Flash, Java Web Start, DHTML, iFrame ed AJAX.

Le applet sono delle applicazioni Java che girano all'interno di un browser. Il vantaggio dell'uso delle applet è che essendo applicazioni Java possono utilizzare tutto l'insieme di API che viene fornito per Java, che è enorme. Purtroppo prima di utilizzare una applet il browser deve scaricare tutto il codice di essa, il che se la applet occupa una dimensione considerevole risulta in una perdita di tempo, che viene a verificarsi ogni volta che l'utente accede alla pagina.

Macromedia Flash (ora Adobe) è stato creato per la visualizzazione di filmati interattivi, e viene fornito con un suo linguaggio di scripting, ActionScript. Flash è perfetto per visualizzare immagini vettoriali, e necessita di un plugin per essere visualizzato dal browser.

Java Web Start permette ad un sito di distribuire applicazioni Java sulla rete, creando un ponte tra applicazioni Desktop e Applets, prendendo il meglio delle due. Usando Java Web Start è possibile installare una applicazione Desktop come se fosse una applet; una volta installata essa funziona come una qualsiasi applicazione Desktop. Ogni volta che viene lanciata l'applicazione, l'infrastruttura che sta dietro a Java Web Start controlla se esiste una nuova versione dell'applicazione. Se esiste, vengono scaricati solo gli elementi che sono cambiati, operazione chiamata Incremental Redeployment.

DHTML sta per Dynamic HTML ed è la combinazione di Javascript, DOM e CSS, ed è stato usato in passato per la creazione di applicazioni web più interattive, ma non permette la comunicazione asincrona, il che significa che devo comunque ricaricare l'intera pagina web, ed è questo il motivo del suo fallimento.

iFrame è stato introdotto alcuni fa come un layer posto sulla pagina web, un elemento del DOM che può essere mosso, ridimensionato o nascosto. Nascondendolo, è possibile dare all'applicazione una risposta asincrona in quanto l'utente può continuare la navigazione sulla pagina mentre l'iFrame recupera i dati dal server. Questo meccanismo permette di sviluppare un comportamento simile a quello che è possibile fare con Ajax, in cui la User Experience non viene interrotta per scaricare dei nuovi dati dal server.

AJAX è DHTML con comunicazione asincrona, cosa resa possibile dall'oggetto XMLHttpRequest. Ajax è la tecnologia RIA Rich Internet Applications più promettente, ed attualmente è la più in vista. Esistono molti toolkits e frameworks per permetterne la programmazione, e la cosa più interessante è che per funzionare non ha bisogno di nessun plugin aggiuntivo, basta un browser abbastanza aggiornato.

Tags: , , , , , ,
Articoli correlati:

Un commento al post “Rich User Experience per applicazioni Web”

  1. arny Says:

    sarebbe bello iniziare ad usare queste tecnologie.da poco mi interesso al web design…sto iniziando a lavorare e nn ci capisco una mazza…help

Lascia un commento

Nome (obbligatorio)

Mail (non sarà pubblicata) (obbligatoria)

Sito web

-->