Invia ad un amico



-->

Progettazione

altri articoli nella sezione:

Flash VS Ajax: quando scegliere Flash

di Jonathan Boutelle
Pubblicato il 17 Novembre 2005

Read this article in English

Flash gode di una cattiva reputazione tra i programmatori. Il modello di programmazione e’ molto differente da quello dei normali linguaggi, e’ l’utilizzo che nel passato e’ stato fatto di questa tecnologia e’ stato particolarmente fastidioso (banner, intro, …). Nei tempi recenti, AJAX e’ venuto fuori come un modo molto popolare per introdurre dinamicità all’interno delle pagine web. E allora perche’ dovremmo avere ancora bisogno di Flash?

Ho appena finito di sviluppare una GROSSA applicazione (MindCanvas) che ha visto la luce come prototipo AJAX, e’ stata sviluppata in Flash, e che ha poi avuto alcune delle sue parti riconvertite in AJAX. Wow! A questo punto credo di poter scrivere con cognizione di causa su quando convenga usare Flash, e quando invece sia meglio evitarlo. Flash ha qualche limitazione, ma lo stesso si puo’ dire per AJAX, e la cosa che piu’ importa e’ utilizzare lo strumento giusto per ogni lavoro.

Funzionalità che richiedono l’uso Flash

*Audio – Per quanto ne so, nessuno e’ ancora riuscito ad inserire file audio utilizzando AJAX. L’audio puo’ essere un aspetto importante per alcune parti delle vostre applicazioni. Puo’ anche essere molto importante nel caso si voglia generare un’esperienza utente di tipo immersivo, proprio come abbiamo dovuto fare noi. AVEVAMO BISOGNO del suono.

*Animazioni complesse con forme diverse dai soli rettangoli.
E’ facile capire se questo tipo di cose serva o meno. MindCanvas è un’applicazione per generare sondaggi che assomiglia ad un videogame, e abbiamo decisamente bisogno della grafica vettoriale per renderla viva.

*Sockets (Fare del “pushing” dei dati dal server. Necessario per i giochi multiplayer, le applicazioni di andamento borsistico, etc). Non avevamo necessità di questa funzionalità nella nostra prima release, ma avevamo un sacco di idee su come utilizzare MindCanvas per effettuare esercizi di ricerca “multi-player”. Abbiamo scelto di utilizzare flash communications server per realizzare questa cosa nel mondo Flash. Non c’e’ invece equivalente nel mondo DHTML.

*Integrazione con microfoni/webcam lato client.
Al momento non e’ una cosa di cui la nostra applicazione abbia bisogno (sebbene sia piacevole pensare che sia una funzionalità che abbia la possibilità di essere implementata in futuro). Ma molte applicazioni basate sulla collaborazione o siti dedicati ai consumatori avranno sicuramente bisogno di queste funzionalità nel futuro.

Cosa ancora manca a Flash

* Tempi veloci di sviluppo: se il tuo codice ha la necessità di essere modificato velocemente, o se deve essere pronto in poche settimane, Flash è forse la scelta sbagliata. Nel nostro caso, l’ìinterfaccia di amministrazione di MindCanvas è stata all’inizio creata in Flash. Quando abbiamo dovuto modificarla per andare incontro ad una richiesta del cliente, ci siamo accorti che Flash non e’ propriamente lo strumento da utilizzare quando vuoi rapidamente modificare un’applicazione. Ci siamo quindi ritrovati a ricostruire il pannello di amministrazione come una normale applicazione web, con parti di AJAX inserite successivamente. Sono felicissimo di averlo fatto, dato che avremmo dovuto modificare pesantemente il codice mano mano che il nostro business model si evolveva, e inserire queste modifiche in Flash avrebbe richiesto un inaccettabile ammontare di risorse. (NOTA: Potrebbe essere che FLEX sia un ambiente piu’ veloce per fare rapid prototyping. Ma francamente, dubito che sia veloce quanto lo sviluppo di normalissime applicazioni web).

* Eccellente gestione delle parti testuali. Una cosa che si da assodata sul web e’ che sia possibile utilizzare del testo che sia di facile lettura e facilmente manipolabile. Ma dimensioni di font che sono “grandi abbastanza” per essere leggibili in HTML sono un disastro in Flash. Abbiamo acquistato diversi font da terze parti: questo ci ha sicuramente aiutato, ma non ha risolto il problema.

Non e’ tuttavia solo un problema di rendering. Spesso e’ utile copiare del testo da un’interfaccia che stai usando (ad esempio per segnalare ad uno sviluppatore che una particoilare parola va modificata). Questo e’ impossibile se il testo e’ parte di un file Flash. Anche il semplice copiare il testo dalle textareas ci ha causato problemi! (quantomeno in Firefox su Windows XP e Flash 7). Il core di Flash e’ basato sulla grafica vettoriale, e se lo scopo primario della tua applicazione e’ che gli utenti leggano, producano o manipolino del testo, Flash non e’ probabilmente la scelta migliore.

Se ora riguardate quanto ho scritto, vi accorgerete di come sia invidiabile la posizione di Flash mano mano che il web diventerà uno strumento visuale a larghissima diffusione. Piu’ il web maturerà come piattaforma, tanto maggiormente dovrà gestire comunicazioni vocali, comunicazioni visive, e collaborazioni virtuali leggere e scrivere. Sebbene non sia lo strumento migliore per le classiche applicazioni “Web 2.0” (che generalmente hanno a che fare con la condivisione asincrona di testi e link), è sicuramente il migliore strumento per lo sviluppo di applicazioni “Web 3.0” che riguarderanno la comunicazione in real-time, e sincrona. Se stessi creando il “Flickr per i video”, ad esempio, starei sicuramente utilizzando Flash in maniera massiccia.

Questo articolo e’ stato originariamente scritto per il mio blog
Traduzione italiana di Matteo Penzo