JavaScript, AJAX, xhtml... e Flash?

Questo articolo è molto vecchio e potrebbe essere obsoleto

In questi giorni tra una formula matematica e una classe da dato astratto, ho messo mano ad alcuni moduli del sito, prevalentemente quelli di amministrazione, e al login. Cosa avrai mai fatto vi chiederete... Ho dotato di alcune funzioni AJAX (acronimo di Asynchronous JavaScript and XML) che permettono di velocizzare le gestione del blog e salvaguardare la banda. Mentre là fuori ajax veniva buttato dovunque, io sono sempre rimasto indietro a causa della mia cattiva conoscenza di JavaScript, quindi mi sono messo lì a cercare tutorial, guide, specifice e messo tutto insieme, alla fine mi sono fatto il mio piccolo framework.

Usando tutti questi servizi 2.0 che usano javascript per generare contenuti dinamici o animazioni di vario genere, mi sono accorto come questo sarebbe stato molto utile diversi anni fa quando la maggioranza dell'utenza si collegava alla rete con i vecchi 56k. Adesso con la tecnologia Ajax, invece di ricaricare completamente una pagina, è sufficiente farsi arrivare un piccolo file xml di pochi Kbytes da interpretare.

Post image



Ci pensate? Qualche anno fa, quando per qualsiasi cosa minimamente animata e interattiva veniva usato Flash, e ad ogni sito dovevo star lì ad aspettare che finisse il caricamento dell'animazione, magari solo perché c'era una musichetta di sottofondo!

Tempo fa quandi scoprii Google Maps pensai ad una applicazione Flash o Java e invece mi accorsi che non c'era niente di tutto questo quindi pensai "Ma che oscuro arcano può fare questo?" Fu presto detto, javascript e richieste XmlHttp, in poche parole Ajax.

Ma analizziamo i due sistemi, ajax e flash, sotto i punti di vista senz'altro determinanti come performance, impiego di banda e flessibilità.

Post imageLa tecnologia ajax non è altro che javascript, per cui insieme ad una pagina web vengono caricati alcuni file .js per formare il completo framework. In genere il contenuto javascript in una pagina può superare il contenuto testuale stesso, quindi a meno di una riscrittura di un framework meno flessibile ma più compatto, non è difficile imbattersi in più di 100Kb di javascript per pagina. Però, c'è un però: mentre normalmente è necessario aggiornare completamente una pagina, con ajax basta farsi arrivare solo i dati necessari per aggiornare alcune parti. Nelle normali richieste XmlHttpRequest per aggiornare i contenuti della pagina, i più furbi, effettuano una richiesta POST al server e come risposta viene inviato al client un file XML. Il compito del javascript è interpretare questo file e formattare opportunamente le informazioni ricevute.

Per quanto riguarda le prestazioni di javascript bisogna sapere che il javascript è interpretato ed eseguito dal browser, pertanto molto dipende dalle performance di quest'ultimo. Poi dipende anche da come è stato scritto il codice e cosa fa. Agendo sugli elementi (X)HTML c'è elemento ed elemento con determinate proprietà. Quindi penso proprio che non si possa fare un discorso generale in questo ambito. Ma se da un lato lavorare direttamente sulla pagina web è un vantaggio è anche una limitazione, basti pensare che muovere alcuni elementi risulta di difficile realizzazione, prendere un pezzo di pagina e ruotarlo come pare e piace lasciando invariato il testo interno non è cosa facile.

Post imageFlash dal canto suo è ottimo per questi scopi, non essendo legato alla struttura (X)HTML permette svariate animazioni, interfacce, effetti e molto altro ancora! E il tutto sfruttando un ambiente di sviluppo e progettazione all'altezza del suo compito, cosa non da poco. Con Flash è possibile inoltre riprodurre video in streaming, e un esempio sotto gli occhi di tutti è YouTube.

Sembra la panacea, ma allora perché non sviluppiamo tutti in Flash? Prima di tutto è una tecnologia proprietaria di Macromedia, ora acquistata da Adobe. Poi i contenuti Flash sono difficilmente indicizzabili dai motori di ricerca rispetto ad una pagine web che è solo testo. Per riprodurre un applicazione Flash è necessario un apposito plug-in caricato nel browser usato per visualizzare le pagine contenenti animazioni Flash. Finché tutta l'applicazione flash non è caricata nel pc, non parte e non è possibile fare nulla, al massimo fisseremo quella barra con la scritta loading...

Sul fatto delle performance Flash è eccellente, risulta molto più fluido spostare lo stesso oggetto con Flash che con javascript. Per esempio, pochi giorni fa un mucchio di blog avevano l'effetto neve nelle proprie pagine web, il tutto era gestito da javascript il quale doveva muovere una cinquantina di immagini o puntini quando andava bene. Ebbene cpu prossima al 100%, per cosa? Per dei batuffoli di neve? Ma va*** :D
Io invece, che volevo evitare imprecazioni varie, ma volevo comunque un qualsiasi effetto invernale/natalizio, ho creato una animazione flash solo per l'header, ed il tutto è stato molto più leggero (e bello secondo me) di molti blog innevati. Tra l'altro vorrei sapere perché in molti mettono la neve nei blog dove il colore dominante è il bianco!

Se ho detto cavolate parliamone... ;)

Articoli correlati

Abbonati al feed RSS. Se non sai cos'è guarda qui.

Abbonati alla newsletter per ricevere via email ogni nuovo articolo pubblicato. L'indirizzo verrà gestito da FeedBurner.

Dai il tuo parere, commenta questo articolo!
commenti su JavaScript, AJAX, xhtml... e Flash?
  1. javascript scrive —

    e bellsissimo x chat

Lascia un commento

CC BY-NC-SA 3.0 2004-2020 Daniele Napolitano — Per informazioni sulla licenza leggere le Note legali