Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Chat e applicazioni multi-utente in Flash

In questo articolo facciamo una panoramica su quali sono i software migliori per creare chat, giochi e applicazionioni multi-utente con Flash
In questo articolo facciamo una panoramica su quali sono i software migliori per creare chat, giochi e applicazionioni multi-utente con Flash
Link copiato negli appunti

Flash è uno dei software più utilizzati per lo sviluppo di animazioni e giochi da distribuire sul web; ciò è dovuto alla facilità di animazione, alle sempre maggiori potenzialità grafiche e di programmazione e a un player relativamente leggero e diffuso per moltissime piattaforme.

Un settore dove Flash non è molto utilizzato è quello delle applicazioni multi-utente; esistono alcune chat realizzate in Flash, ma sono in minoranza e solitamente non sono "in tempo reale" ma sfruttano la scrittura/lettura di database o file di testo.

Vi sono però dei software che permettono la realizzazione di applicazioni Flash multiutente con un'interazione pressoché immediata, praticamente in tempo reale, quindi ideale per esempio per creare giochi o comunque progetti che richiedano immediatezza e non prevedano tempi di attesa, seppur minimi.

Si tratta solitamente di pacchetti software da installare sul server (questo purtroppo ne limita notevolmente la diffusione) che fanno da "ponte" tra i vari pc che visualizzano il filmato SWF.

Il primo software di un certo livello per quanto riguarda la multi-utenza in Flash è stato Flash Communication Server, rilasciato dalla Macromedia (ora Adobe) ai tempi di Flash MX.

Questo software si proponeva di permettere l'interazione tra filmati SWF su diversi PC, basandosi sempre su linguaggio Actionscript (anche se ovviamente con nuovi comandi rispetto a quelli "classici" di Flash Mx) ed è stato anche il software con cui è stato introdotto il formato FLV, che allora era utilizzabile solo per gli streaming live con Flash Communication Server (da Flash Mx 2004 è diventato invece utilizzabile anche con il solo Flash).

Ora il software ha raggiunto la seconda versione, ha cambiato nome (Flash Media Server 2) e casa produttrice (Adobe), ma nel frattempo sono nati altri software (più o meno gratuiti) con feature simili.

Svantaggi dei tool Flash lato server

Iniziamo a valutare gli svantaggi comuni a tutti questi strumenti. Spesso non si tratta di difetti relativi al software in se, ma sono comunque i motivi che hanno impedito finora un ampio diffondersi di queste tecnologie.

Installazione sul server

Il problema principale è la necessità di avere lo strumento installato sul server per poterlo usare sul web.

Sono pochi i provider che prevedano piani di hosting con Flash Media Server e spesso il prezzo per una configurazione adeguata è piuttosto elevato.

Ancor meno sono i provider a offrire soluzioni "alternative" come, per esempio, Smart Fox Server o Red5.

Nel caso in cui si voglia installare il programma su un proprio server è necessario affrontare il problema dei costi.

Questo è un difetto solo di alcuni programmi, perché, per esempio, Red5 è attualmente gratuito e altri hanno un costo abbastanza abbordabile, ma soluzioni come Flash Media Server risultano più costose (è possibile personalizzare le caratteristiche e avere prezzi differenti).

Necessità di imparare nuovi comandi

Il dover imparare nuovi comandi (o nuovi linguaggi) purtroppo fa sì che molti sviluppatori non riescano a provare questi software; alcuni tool mettono a disposizione dei file di esempio e dei componenti per facilitare lo sviluppo, ma per la creazione di progetti medio-complessi è comunque necessario approfondire nuovi comandi, certo è un passaggio che si rende sempre necessario quando si utilizza una tecnologia nuova, ma spesso non esiste un adeguata documentazione.

Carenza di risorse

Ricollegandosi al punto precedente, bisogna segnalare che, oltre alla documentazione, spesso manca una comunità di supporto su cui fare affidamento; la fortuna di molti progetti, magari del tutto privi di guide ufficiali, è nella comunità di utenti che si aiuta e si scambia suggerimenti.

Per alcune di queste tecnologie non ci sono forum ufficiali e quindi l'apprendimento risulta più difficile.

Va segnalato che Flash Media Server offre una guida completa, mentre Smart Fox Server ha una buona quantità di esempi, componenti e tutorial.

Più scadenti, sotto questo punto di vista, Electro Server e Red 5 (che tuttavia è giustificato dal fatto di essere un progetto nuovo e in costante sviluppo).

Difficoltà nel testare i progetti

Per quanto ci siano versioni gratuite per gli sviluppatori (sia Flash Media Server che Smart Fox Server offrono una free edition, mentre Red5 è totalmente gratuito), la difficoltà nel trovare un servizio di hosting rende conseguentemente difficili anche i test; le versioni per gli sviluppatori dei tool commerciali sono spesso limitate a 2 o 5 connessioni contemporanee (10 in rari casi), per cui, con esse, risulta quasi impossibile testare il proprio progetto in condizioni di traffico intenso, aspetto molto importante specialmente in lavori che includano streaming audio/video.

Questi sono i principali problemi che affliggono, in maniera più o meno grave, tutti i tool lato server per Flash.

Chiaramente molti sono i lati positivi, ma è importante conoscere le difficoltà in cui ci si può imbattere provando tali tecnologie.

Vantaggi dei tool Flash lato server

Analizziamo ora i principali vantaggi "generali" dei software lato server, che sono in linea di massima validi per tutti i tool appartenenti a questa categoria.

Eventi in tempo reale

Il vantaggio principale è ovviamente la possibilità di far "reagire" la nostra applicazione in tempo reale su più pc; esistono, per esempio, diverse chat in Flash basate su PHP/MySQL, ma generalmente vanno a scrivere e leggere il database (o il file di testo) a intervalli di tempo prestabiliti.

Con i software lato server, invece, la comunicazione può essere molto più immediata, dato che i dati passano direttamente dall'swf che li invia al server a poi a tutti gli altri swf connessi.

Trasmissione live di audio/video

Mentre le soluzioni Flash/PHP, multiutente, solitamente sono limitate all'invio di dati testuali, con Flash Media Server e affini è possibile mandare anche il segnale audio/video.

In particolare, per Flash Media Server, sarà possibile trasmettere interi eventi live, anche con telecamere professionali, grazie all'Adobe Media Encoder (ancora in fase di sviluppo al momento in cui scriviamo), che a quanto pare consentirà una vera e propria diretta continua di alto livello.

Esistono alcune videochat, create prevalentemente con Flash Media Server, che permettono anche la visione/ascolto di più utenti in contemporanea.

Esperienze personalizzate

Per quanto sia semplice inviare e ricevere dati, si possono comunque lasciare delle parti del progetto relative solo all'swf locale dell'utente, per esempio, per la personalizzazione dell'interfaccia. In questo modo ogni utente potrà avere l'applicazione con la skin che preferisce, senza che nessun altro utente la veda, ma al tempo stesso potrà scambiare con le altre persone connesse tutte le informazioni che desidera.

Si uniscono quindi le potenzialità grafiche e di personalizzazione di Flash ai vantaggi dell'esperienza multiutente.

Alta compatibilità

Tranne rare eccezioni, i software hanno una compatibilità decisamente elevata con i sistemi operativi, quindi è piuttosto difficile che non funzionino a dovere sul proprio server. È anche vero che, tranne nel caso in cui si abbia il proprio server, difficilmente si installerà il software dopo l'acquisto dello spazio web, ma al contrario si acquisterà lo spazio in funzione del software scelto.

Inoltre, quasi tutti gli strumenti danno la possibilità di sviluppare comandi ed estensioni personalizzate per aumentare le loro potenzialità, così da poter rendere l'applicazione maggiormente adatta alle proprie esigenze.

Nella seconda parte di questo articolo, vediamo quali sono le caratteristiche di questi software, valutando i pro e i contro di ognuno di essi.

Flash Media Server 2

Partiamo dal software "principe", realizzato dalla stessa casa madre di Flash:

Pro

  • Utilizza il linguaggio Actionscript: anche se sarà necessario apprendere nuovi comandi, chi già ha dimestichezza con Actionscript non troverà particolari difficoltà nell'adattarsi alla sintassi.
  • Installazioni personalizzabili: al momento dell'installazione, o della scelta del provider, si possono impostare diversi parametri quali connessioni massime contemporanee e larghezza di banda; questi due parametri consentono di trovare il rapporto migliore tra costi e tipo di servizio.
  • Componenti: il software mette a disposizione un ampio set di componenti già funzionanti, molto utili per creare le proprie applicazioni, inoltre risultano utili da studiare per imparare comandi e procedimenti.
  • Documentazione e supporto: il fatto di essere già alla seconda versione e di essere di casa Adobe fanno sì che questo software sia abbastanza conosciuto e abbia raccolto diversi utenti che hanno scritto libri e tutorial, oltre all'ottimo Developer Center del sito Adobe che contiene diverso materiale.
  • Developer edition gratuita: è possibile sviluppare in maniera completamente gratuita utilizzando l'apposita Developer Edition, che consente di realizzare i propri progetti in locale senza spendere nulla.
  • Aggiornato: essendo sviluppato dalla stessa software house di Flash, difficilmente rimarrà indietro nelle versioni e sarà presumibilmente sempre compatibile con le ultime novità del Flash Player.

Contro

  • Costoso: sia la versione da acquistare, sia la maggior parte dei piani di hosting che prevedono questo software sono caratterizzati da cifre piuttosto alte. Per quanto sia una tecnologia interessante e innovativa e offra un'altissima interazione con Flash, 4500 € come prezzo di base sembrano un po' troppi, considerando tra l'altro che le alternative hanno prezzi molto più bassi.

Smart Fox Server

Pro

  • Versioni gratuite: sono a disposizione diverse versioni, che vanno dalla LITE (gratuita) alla PRO, passando per la BASIC. Pro e Basic sono disponibili anche in versione gratuita, con un limite di 20 connessioni, più che sufficiente per effettuare test che comprendano comunque un buon numero di persone.
  • Aggiornato: compatibile con Actionscript 3 (quindi con Flex 2 e predisposto per Flash 9)
  • Leggero: testato su server anche non recenti offrendo ottimi risultati (http://www.smartfoxserver.com/products/benchmarks.htm)
  • Ben documentato: mentre diversi software della categoria soffrono una documentazione un po' scarna, Smart Fox Server offre una guida completa e diversi tutorial.
  • Strumenti di amministrazione: Il software viene fornito con un set di strumenti già pronti all'utilizzo per amministrare al meglio il server e in particolare le chat

Contro

  • Carenza video/audio: essendo nato inizialmente come progetto dedicato alle chat multi-utente, soffre di lacune per quanto riguarda la diffusione di audio/video in streaming.
  • Difficilmente da trovare: attualmente risulta difficile trovarlo su piani di hosting, però è un problema "relativo" dato che gli stessi sviluppatori del software sembrano offrire piani di spazio web con il programma installato.

Red5

Pro

  • Gratuito: questo è il punto di forza che lo renderà sicuramente "gradito".
  • Versatile: offre un'ampia quantità di feature, dallo streaming audio video (FLV/MP3) alla semplice comunicazione di dati tra file SWF.
  • Aggiornato: essendo un progetto che ha raggiunto di recente uno sviluppo maturo, risulta aggiornato alle ultime tecnologie disponibili.
  • Ben documentato: la documentazione non è eccelsa, "in senso assoluto", ma è decisamente corposa se consideriamo che si tratta di un progetto giunto alla release 0.6.

Contro

  • Richiede un server proprio: al momento non è possibile trovarlo presso i provider e non sembra che il team di sviluppo offra piani di hosting. Pertanto, se si vuole mettere online un progetto, che utilizzi Red5, è necessario un server proprio, o comunque un provider che permette l'installazione di programmi aggiuntivi.
  • Nessun componente: sembra non sia fornito, almeno attualmente, di componenti o altri oggetti in grado di facilitare le prime fasi di sviluppo.
  • Incertezza intorno al progetto: non si tratta di un difetto relativo, nello specifico, a Red5, ma come tutti i progetti open source in via di sviluppo anche questo vede un alone di incertezza, dato che spesso progetti di questo genere vengono abbandonati o comunque rallentati a lungo, pertanto affidare progetti lavorativi a Red5 al momento potrebbe risultare una scelta azzardata.

Altri software

Esistono diversi altri software, per esempio Electro Server o ulteriori software, ma si tratta per lo più di software focalizzati su una particolare caratteristica (solitamente lo sviluppo di chat) e poco adatti a progetti medio complessi. In molti casi abbiamo software non aggiornati e che quindi risultano obsoleti a livello di performance. Electro Server era tra i programmi di punta, ma lo sviluppo è ormai fermo da molti mesi e di fatto è rimasto molto indietro rispetto ai software di cui abbiamo parlato.

Conclusioni

I pro e i contro, che abbiamo accennato, sono i più rilevanti; ogni software nasconde più o meno pecche e soprattutto si rivela più o meno adatto a seconda del progetto in cui lo si utilizza.

Flash Media Server e Smart Fox Server sono stati già sfruttati in una quantità di progetti, anche complessi, piuttosto considerevole e con ottimi risultati (Red5 essendo in sviluppo sotto questo punto di vista è più carente).

Probabilmente, per lo streaming video, il migliore resta Flash Media Server, che ha maggiori possibilità di configurazione (connessioni simultanee, banda complessiva, banda per il video, etc) rispetto agli altri strumenti e il recente Adobe Live Encoder (attualmente ancora in beta) promette novità nel settore dei video sul web.

Uno degli aspetti più graditi è sicuramente la disponibilità di versioni gratuite: gli sviluppatori potranno testare a fondo le potenzialità di questi software senza limitazioni e apprendere, a fondo, tutte le potenzialità, prima di decidere quale programma acquistare per i progetti lavorativi, anche se al momento lo sviluppo di applicazioni multiutente con Flash sembra un campo che richiede investimenti medio-alti anche solo a livello di hosting, fatto che purtroppo rallenta la diffusione di questi lavori.

Ti consigliamo anche