AJAX

AJAX, Flash, Flex a confronto

Se ne parla tanto in giro per la rete, sui forum, sui blog, adesso anche qui su FlashFuck 😀

Ajax, Flash, e Flex sono le tre principali tecnologie di cui si può discutere in termini di RIA, ma cosa sono?
Come strutturare il proprio progetto e che tecnologia usare dipende sostanzialmente dalle skills di cui si dispone e dal tipo di risultato che si vuole ottenere.

Le Piattaforme
Esiste una sostanziale dicotomia tra queste tecnologie:

Flash e Flex producono dei filmati che possono essere visualizzati tramite il Flash Player, quindi si può asserire che siano crossbrowser in quanto non si appoggiano direttamente a questo o quel browser di destinazione quanto piuttosto alle potenzialità del flashplayer.

Decifrando la sigla “AJAX” si pu√≤ invece capire di che pasta √® fatta questa “tecnologia”: Asynchronous Javascript and XML.
Ajax quindi non è una vera e propria tecnologia, quanto piuttosto un modo di programmare javascript.
Molte persone identificano Ajax con quello che una volta era chiamato DHTML, ossia animazioni e transizioni javascript su html; tuttavia Ajax altro non √® che un modo per ricevereinviare dati on demand direttamente dal client (quindi dal browser) ..non a caso una delle applicazioni pi√π diffuse di ajax √® “inviare un form senza cambiare la pagina”.

Una volta capita questa sostanziale differenza di piattaforma si può passare a considerare Flash Flex e Ajax come potenziali candidate allo sviluppo del vostro progetto in essere.

Pro e Contro
Se esistesse un tag “” lo utilizzerei per scrivere quanto segue, d’altra parte FlashFuck tratta principalmente di flash e affini e, come tale, la valutazione di pro e contro pende certamente da una parte 😀

Penso che le caratteristiche delle tre tecnologie possano essere riassunte da questa tabellina, con le dovute precisazioni.

Ajax, Flash, Flex a confronto

CrossBrowser:
Come già scritto sopra flash e flex si appoggiano a flash player, quindi non sono propriamente crossbrowser.
Ajax dal canto suo ha le limitazioni di javascript che non è propriamente un linguaggio crossbrowser.

Free:
Ajax √® free, il programmer non dipende da questo o quel programma di authoring per realizzare qualcosa con questa tecnologia. Anche Flex √® recentemente diventato open source ed √® possibile sviluppare in flex utilizzando liberamente l’SDK.

SEO friendly:
la pecca principale di flash e flex √® senza dubbio l’aspetto SEO. Ajax lavora su pagine html, quindi con i dovuti accorgimenti si pu√≤ ottenere ugualmente un buon risultato quanto a posizionamento sui motori di ricerca.
Anche per flash e flex esistono dei modi per ovviare al problema, ma la strada è impervia e piena di pericoli.

RIA Capable:
Non ho checkato questa voce per Ajax perchè non fornisce esattamente la possibilità di creare una RIA vera e propria.
Ajax necessita dell’ausilio di altre tecnologie per conseguire il risultato di una RIA che non contempli solo testo e immagini, non √® quindi in grado di mostrare video, realizzare streaming audio, autonomamente. Cose che Flash e Flex sono in grado di fare grazie alle potenzialit√† del flash player.

Customization:
Il pi√π customizzabile dei tool √® senza dubbio Flash. Con flash √® possibile creare delle interfacce grafiche ad hoc per il proprio progetto, uscendo addirittura dalla mera scomposizione in box tipica di html. Ajax fornisce tutte le possibilit√† di customizzazione di html, in fin dei conti d√† la possibilit√† di mostrare dell’html on demand..
Anche Flex si basa sui tag di mxml… √® leggermente customizzabile, ma lo sviluppo di accorgimenti grafici per flex ricade quasi certamente nella creazione di component per flex con l’uso di flash, quindi ho preferito non checkare questa voce.

Framework(s):
Flash ha delle librerie standard che comprendono delle classi base per poter lavorare nell’ambiente di authoring, in linea di massima √® il coder a crearsi le classi actionscript per il proprio progetto. Flex utilizza il proprio framework scritto interamente in actionscript3, il coder puo’ comunque estenderlo a piacere creando i propri package, come peraltro √® possibile in flash.
Per Ajax il discorso √® un filino diverso. Esistono svariati framework che implementano le funzioni pi√π disparate, dalla gestione del caricamento di contenuti all’highlight degli oggetti del DOM HTML alla creazione di vere e proprie “animazioni” di blocchi html.
I framework Ajax pi√π famosi (o quantomeno quelli che ho potuto testare di persona su alcuni progetti) sono:

IMHO
Concludendo, creare un’applicazione, un sito, una RIA, un generico progetto, richiede una considerazione sullae tecnologiae da usare. Ognuna ha i suoi pro ed i suoi contro, vanno sicuramente valutati gli obiettivi che il progetto si pone e come raggiungerli al meglio scrivendo meno codice possibile rendendo il risultato il pi√π appetibile possibile.
B√®…che altro aggiungere..
Stay tuned e buon lavoro 😀

Advertisements

2 thoughts on “AJAX, Flash, Flex a confronto

  1. Grazie, bell’articolo, comunque sei stato abbastanza oggettivo, a dispetto di quanto hai scritto nel paragrafo “pro e contro”. In giro per la rete si sentono pareri molto discordanti riguardo alle potenzialit√† di queste tecnologie, se avessi saputo che avresti dedicato un articolo al post che ho messo su actionscript.it ti avrei sicuramente chiesto di inserire nelle tue considerazioni anche il nuovissimo Silverlight. Pensaci 🙂
    Grazie comunque per il lavoro che hai svolto.

    Ciao

  2. @lelibus :
    Silverlight non l’ho considerato, come del resto non ho considerato anche altre tecnologie ben pi√π rodate tipo Java…
    se prender√† piede ci dar√≤ uno sguardo pi√π da vicino 😀

    ciauz (e grazie dei complimenti :$)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s