Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 21 di 24
  • livello principiante
Indice lezioni

Considerazioni lato utente

Vantaggi e svantaggi riscontrabili dall'utente usando applicazioni AJAX
Vantaggi e svantaggi riscontrabili dall'utente usando applicazioni AJAX
Link copiato negli appunti

Vantaggi

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.

Questi aspetti apparentemente futili hanno permesso a tecnologie come Flash di affermarsi nel contesto web. Questo perchè l'interesse collettivo è la ricerca di informazioni ma si preferisce navigare dove le informazioni sono presentante nel modo più semplice e veloce possibile.

Ci sono librerie dedicate, facilmente integrabili in applicativi AJAX e capaci di impressionare gli utenti in modo analogo a quello proposto dal plug-in grafico di Adobe, quali moo.fx, gratuita e veramente leggera, oppure lightbox, in questo caso la versione 2.0, pesante ma sicuramente di forte impatto visivo.

La compatibilità praticamente totale con i browser più diffusi ed il supporto nativo, o integrabile, dell'oggetto XMLHttpRequest contribuiscono ulteriormente allo sviluppo di Rich Internet Applications, allargando i campi di impiego per gli sviluppatori e coinvolgendo sempre di più i navigatori.

Ottenere modifiche dinamiche e leggere sulle pagine, come i suggerimenti sui campi di ricerca, in grado di suggerire parole presenti e velocizzare l'inserimento, mappe, votazioni, statistiche, amministrazione, lezioni, chat, giochi e chi più ne ha più ne metta, ecco il motivo di tanto successo ed ecco perchè gli utenti possono trarre numerosi vantaggi da ajax.

Svantaggi

Come già accennato nel corso della guida, gli utenti che necessitano di tecnologie assistive e coloro che non dispongono di connessioni veloci sono i più penalizzati.

I primi perchè non possono, attualmente, godere del cambio parziale di contenuti e non saranno quindi in grado di sfruttarne le potenzialità. I secondi devono caricare, almeno al primo accesso, una mole di dati consistente rappresentata dai vari file JavaScript e potrebbero non essere in grado di sfruttare niente di quanto caricato.

Si potrebbe non disporre di un browser aggiornato, oppure in situazioni di JavaScript disabilitato, di assenza dell'oggetto XMLHttpRequest. In questi casi si scaricano centinaia di bytes che non verranno mai usati a causa del controllo a posteriori utilizzato per conoscere la reale compatibilità con AJAX.

Questi aspetti puramente tecnici sono spesso raggirabili, grazie ad una stesura degradabile dell'applicativo da parte dello sviluppatore o grazie al caricamento dinamico del javascript proposto dopo aver verificato la compatibilità del browser, Ma n'è uno 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.

Aprendo direttamente una pagina ricca di interazioni asincrone non sarà possibile, nemmeno volendo, cliccare sul tasto 'indiero' del browser per tornare allo stato precedente, si verrà reindirizzati invece alla pagina precedente, il che causare disorientamento. In questi casi, la consapevolezza di aver usato AJAX, qualora il navigatore sia preparato, non può certo aiutare, poichè anche l'aggiornamento della pagina non serve a tornare allo stato precedente ma solo allo stato iniziale.

Oltre ad essere un vincolo di navigazione, questo problema è anche un vincolo per l'indicizzazione o la possibilità di segnalare ad altri la pagina visualizzata. Questo accade perchè il comando gestito da JavaScript non è portabile come un link e scrivere ad un amico l'indirizzo attualmente visitato ed eventualmente modificato tramite AJAX non è possibile se non dando delle indicazioni precise sulle operazioni svolte una volta arrivati nella pagina in oggetto.

La soluzione a questi problemi non è semplice ed i motivi sono diversi.

  • In primo luogo creare un gestore eventi in grado di aggiungere cambiamenti alla history del browser può risultare un'operazione complessa per via dei diversi standard o funzioni presenti nei diversi browser.
  • In secondo luogo l'indicizzazione di un solo link, per chi non ha JavaScript o non può usufruire di tale tecnologia, diventerebbe pressapoco impossibile.

Una libreria nota e molto potente che sembra abbia risolto almeno in parte i problemi è quella di backbase, dove il caricamento incrementale del contenuto, attraverso la visualizzazione asincrona dello stesso, sembra essere la soluzione definitiva, gestendo sotto-gerarchie e le varie sezioni tramite una serie di informazioni appese dopo il carattere #, il quale permette solitamente di indicizzare sotto-contenuti di una pagina tramite l'uso di elementi con id univoco ma che può essere gestito senza problemi dal JavaScript proposto.

Tuttavia se coloro che si definiscono i numeri 1 per applicativi AJAX non sono riusciti ad eliminare 2/3 dei problemi,
significa che almeno oggi questi non sono tecnicamente sormontabili. Se un utente che naviga una sottosezione passa il link ad un altro utente, potrebbero infatti esserci comunque problemi di compatibilità tra browser

Questo avviene perchè se JavaScript può verificare il link e gestirlo di conseguenza, il server ospitante non potrà fare altro che mostrare la pagina richiesta, ignorando giustamente tutto ciò che non fa parte del reale indirizzo richiesto, ovvero tutto il testo eventualmente presente dopo il carattere #.

Un esempio in chiave ironica di quanto può accadere è il seguente:

Figura 1. Scambio di un link non compatibile
Utente che passa un link ad un utente che non potrà leggerlo allo stesso modo

La problematica è sicuramente attenuata dagli smiles della vignetta ma non per questo ininfluente.

Ti consigliamo anche