Perchè AJAX piuttosto che Flash

Filed under tech

Riprendendo una discussione nata nei commenti di qualche articolo fa vorrei puntualizzare alcune differenze importanti tra due tecnologie: Ajax e Flash.

Premetto che l’ambito di interesse è lo sviluppo di RIA, cioè di applicazioni internet con potenzialità simili a quelle desktop.

Fatte queste premesse, se analizziamo la scena globale ci accorgiamo che ad eccezione delle RIA che si occupano di grafica (come Aviary o Photoshop Express), la maggior parte delle applicazioni web sono sviluppate in AJAX.

Ecco alcuni esempi importanti: tutti gli applicativi Google (Google Documenti, GMail, Google Calendar…), la suite completa per l’ufficio Zoho, ma anche i pannelli di amministrazione dei principali CMS (come la nuova interfaccia amministrativa di Wordpress, dalla quale sto scrivendo), senza contare i Social Network come Facebook che per la loro complessità assomigliano sempre più a vere e proprie RIA.

Inoltre, questo non riguarda solo i “big player“: la quasi totalità delle piccole web-applications 2.0, scritte in PHP o RubyOnRails, continuano a fare uso estensivo di AJAX.

 

Perchè AJAX

E allora, quali sono questi vantaggi e quali svantaggi nel costruire un’applicazione interamente in Flash?

  • Anzitutto, Flash è spaesante per l’utente. Il tasto destro non funziona come ci si aspetta, molte convenzioni che favoriscono l’usabilità non sono rispettate.
  • Fare una cosa semplice come selezionare e copiare del testo può diventare complicato o impossibile.
  • Le abitudini sulla navigazione sono disattese: spesso le applicazioni Flash non hanno pagine o diversi indirizzi URL.
  • Molte funzionalità dei browser vengono annullate: Flash di fatto nega al browser e ai suoi plugin di entrare nell’applicazione e personalizzarne la visualizzazione.
  • Ad esempio: impostare la dimesione preferita del testo non ho effetti su Flash, i web accellerator e le web slices di Internet Explorer 8 non funzionano, nemmeno i plugin di Firefox per filtrare la pubblicità, e l’elenco potrebbe essere veramente infinito.
  • Per non parlare della stampa, che se già normalmente da spesso risultati inattesi, con Flash non viene nemmeno presa in considerazione.
  • Ultimo ma non ultimo, Flash ha maggiori problemi di accessibilità, sia per chi usa screen reader sia per dispositivi alternativi o mobile.

Salvare il bambino

Non buttiamo però il bambino con l’acqua sporca.

Se è vero che usare Flash per l’intera interfaccia ha i suoi svantaggi, anche nell’ambito delle RIA Flash continua ad essere un’ottima scelta per:

  • Sfruttare potenzialità avanzate come l’upload multiplo di file (vedi ad esempio la libreria SWFUpload: Flash c’è, ma non si vede) o il salvataggio dati nel browser (vedi dojo.storage)
  • Animazioni grafiche circoscritte (anche in questo ambito AJAX offre alternative interessanti, ma Flash resta il top)
  • Grafici interattivi animati (vedi Google Analytics)

Che ne pensate?

Ho tralasciato qualche punto importante?

I commenti sono sempre ben accetti.

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

2 Comments

  1. Posted Tuesday April 7th, 2009 at 10:33 AM | Permalink

    i miei 2 cents.
    Credo che Ajax e Flash non debbano essere messi a confronto, sono 2 tecnologie totalmente differenti.
    Ad ogni modo non sono completamente d'accordo, con Flash e più precisamente con Flex ed Air puoi creare veri applicativi desktop utilizzando elementi del tutto simili a quelli html.
    Flash ormai è utilizzato solo per produziuoni multimediali quali possono essere siti "da vetrina" e giochi.

  2. Posted Tuesday April 7th, 2009 at 01:01 PM | Permalink

    hai ragione, sono due tecnologie molto diverse

    però ultimamente le possibilità di AJAX si stanno spingendo così avanti(vedi http://www.chromeexperiments.com/detail/monster/) che i due campi di utilizzo talvolta si sovrappongono, per cui sentivo il bisogno di fare un attimo chiarezza e puntualizzare le differenze

    l'esempio che hai fatto di Flex (che per il lato client gira nel Flash Player) e di Air mi suggerice un'altra precisazione: in certi casi non si può fare a meno di queste potenzialità, e quindi si è costretti a safricare quei punti che ho scritto sopra

    Air merita un'altro appunto: dal momento che richiede un'installazione e gira fuori dal browser viene percipito come una applicazione desktop, per cui le aspettative dell'utente (e le questioni sull'usabilità) sono completamente diverse

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*