In un video precedente abbiamo visto quali sono le tecnologie basate su standard comuni per creare applicazioni Web 2.0. In questo video faremo invece una panoramica dei sistemi proprietari. Alcuni di essi sono open source, altri vengono venduti con costosi strumenti di sviluppo. Tutti cercano di accaparrarsi il grande mercato degli sviluppatori 2.0.
Le tecnologie basate su HTML e JavaScript non hanno strumenti per creare interfacce così reattive ed eleganti come quella che state vedendo in questo video. Questo servizio si chiama Photoshop Express (vedi il video su Ictv), ed è sviluppato da Adobe con le ultime versioni delle tecnologie per Rich Internet Applications: Flash 9, Flex e ActionScript 3.
Il Flash player è l'ambiente di runtime, ossia il software che visualizza nel browser le applicazioni progettate con Flash o Flex. Flex, ne abbiamo già parlato su ICTv, è l'infrastruttura di sviluppo di Adobe, gestibile sia con un prodotto open source sia con l'applicazione commerciale Flex Builder. ActionScript è invece il linguaggio, divenuto molto maturo nella versione 3, per la programmazione delle applicazioni.
Adobe è l'azienda che ha il maggiore parco prodotti per applicazioni Web. Ultimo nato è AIR, un ambiente di runtime che è in grado di far girare applicazioni Web quando non si è collegati alla rete Internet. Poiché è in grado di interpretare applicazioni scritte con le tecnologie Adobe, sarà semplice per gli sviluppatori esportare un'applicazione Flex in formato Air: Photoshop Express, ad esempio, lo sarà presto.
Per certi versi simile alla soluzione Adobe è Silverlight (vedi il video di presentazione su Ictv), il nome con cui si designano le tecnologie per lo sviluppo di applicazioni Web di Microsoft. Anche Silverlight è un ambiente di runtime per browser e anche Silverlight ha il suo strumento di sviluppo e i suoi linguaggi proprietari. L'ambiente di sviluppo dedicato è Visual Studio mentre per grafica e integrazioni in siti Web si usano i software della linea Expression.
Dalla versione 2 le applicazioni Silverlight possono essere programmate con molti linguaggi di sviluppo appartenenti alla grande famiglia .Net, come i ben noti Visual Basic .NEt e C#. Silverlight ha anche le potenzialità per essere sviluppato con linguaggi dinamici come IronPython o IronRuby. Come e forse più di Flash, Silverlight è in grado di gestire immagini e video ad alta definizione.
Nella battaglia per le applicazioni Web c'è anche Sun Microsystems, l'inventrice di Java. La sua proposta si chiama JavaFX, il suo ambiente di runtime è la nota virtual machine Java, la stessa con cui si eseguono le famose Applet. Per sviluppare con questa soluzione esistono plug-in per gli ambienti di sviluppo NetBeans ed Eclipse che sono open source e gratuiti. JavaFX Script è il nome del nuovo linguaggio di scripting che, unito ad altri strumenti della famiglia Java, permette di gestire grafica e funzioni di applicazioni Web 2.0.
Openlaszlo si definisce, ed è, una soluzione open source per creare applicazioni Web multipiattaforma. Le applicazioni scritte con il suo linguaggio dichiarativo proprietario chiamato LZX possono essere compilate sia per il runtime JavaScript del browser sia per il runtime Flash. Si può naturalmente mantenere l'applicazione anche in codice proprietario ma in questo caso sarà necessario un Server Openlaszlo.
LZX è un linguaggio basato su XML, come lo sono MXML di Adobe e XAML di Microsoft, usati per la progettazione delle interfacce per le rispettive tecnologie. Su XML è basato anche XUL, il linguaggio creato dalla Mozilla Corporation per la gestione delle interfacce dei suoi prodotti. XUL, assieme ad altre componenti di Mozilla o a linguaggi standard, si inizia da poco ad usare per la creazione di applicazioni Web 2.0, anche se manca di alcune funzioni e può essere visualizzato solo su Firefox.
Ultima tra le tecnologie da citare è il Google Web Toolkit. Si tratta di un framework di sviluppo che converte applicazioni scritte in Java in applicazioni Ajax, ossia in codice HTML e JavaScript. Il toolkit include già una serie di Widget, ossia componenti per la strutturazione di interfacce e strumenti di interazione, ed è naturalmente gratuito e ben documentato, in pieno stile Google.
Ognuna delle tecnologie presentate ha vantaggi e svantaggi: le soluzioni di Adobe possono contare sulla quasi ubiquità della piattaforma Flash, quelle di Microsoft sulla versatilità della piattaforma .Net, JavaFX sulla potenza della virtual machine Java. Nessuna però può vantare su standard così comuni e diffusi come le soluzioni Ajax, che, almeno oggi, sono la scelta preferita dagli sviluppatori.