Cos'era Apollo?
Nell'annuncio iniziale di Adobe ne abbiamo sentito parlare con il nome "Apollo", ma, come sappiamo, la versione definitiva di questa tecnologia si chiama AIR, dall'acronimo di Adobe Integrated Runtime. Il fatto che il nome iniziale rievochi una missione spaziale, non sembra casuale. Adobe con AIR si prefigge un'obiettivo che ha tutto il sapore di un'impresa: usare le tecnologie e i linguaggi di sviluppo Web anche per le applicazioni desktop, e non parliamo solo di Flash o Flex, è prevista la possibilità di usare AIR anche per far girare sul desktop, RIA create con Javascript (Ajax).
Un ritorno al desktop?
Per certi versi può sembrare paradossale che si "torni" al desktop: grande era stato lo stupore di fronte alle prime RIA proprio per la possibilità di creare dei veri e propri software interamente fruibili tramite browser; quello proposto da AIR sembra quindi una sorta di "ritorno" verso il desktop, ma forse non è il caso di considerare il tutto come un "ritorno al passato".
Le tecnologie per lo sviluppo di RIA sono cresciute fino ad arrivare ad ambienti di sviluppo visuali e interi framework di supporto, inoltre si consumano dati su diversi dispositivi e piattaforme e risulta un vantaggio poter lavorare allo stesso modo sia in ambienti connessi sia in ambienti disconnessi (totalmente o parzialmente). Altra considerazione da fare è quella sui browser, che non sono propriamente "Virtual Machine", se ne avverte la differenza nelle limitazioni che impongono quando cerchiamo un'interazione più diretta con la macchina sottostante.
Ecco allora uno strumento in grado di offrire una compatibilità con più sistemi operativi, in grado di operare sia in presenza di una connessione internet che offline e soprattutto che consente agli sviluppatori Web di utilizzare le proprie capacità per creare delle applicazioni senza la necessità di apprendere nuovi linguaggi di programmazione; AIR dà questa possibilità, ed ecco perchè è stato accolto con grande clamore.
Vantaggi delle applicazioni AIR
AIR dà la possibilità agli sviluppatori Web di sfruttare ambienti e linguaggi noti per raggiungere un nuovo target (l'utente desktop), ma le applicazioni sono anche multipiattaforma (è prevista la compatibilità con Linux).
La distribuzione dell'applicazione può risultare invece un po' difficoltosa dato che il formato finale che otteniamo con queste tecnologia è ".air" e per installarlo l'utente finale necessita di avere l'AIR Installer installato sul proprio pc; tuttavia è presumibile che il processo di distribuzione venga facilitato e migliorato, così come il setup delle applicazioni che attualmente risulta di qualità non elevata, come peraltro potremo sperimentare durante la guida.
Caratteristiche molto utili sono anche l'integrazione nella macchina virtuale di un database (SQLite), la possibilità di leggere e scrivere file dal pc su cui viene eseguita l'applicazione, il supporto per il drag & drop con interazioni dirette con il sistema operativo, il poter richiamare pagine HTML all'interno del proprio progetto.
Esiste già qualcosa di simile ?
Quando le notizie su AIR erano ancora frammentarie, e fu rilasciata la prima alpha del prodotto, furono inevitabili i paragoni con alcuni software di terze parti per i proiettori Flash, che consentono di potenziare gli eseguibili realizzati da Flash fornendo proprio feature come la scrittura di file, l'interazione con database e molto altro.
Il paragone in principio vedeva prevalere software come Zinc o SWFStudio, che rispetto alla versione alpha di AIR risultavano più potenti. La beta ha portato un insieme di feature che ha consentito ad AIR di recuperare il terreno perduto. Di contro recentemente la MultiDMedia ha annunciato un nuovo software, che potrebbe coprire un campo di azione quantomeno simile ad AIR.
Strumenti per sviluppare in AIR
Per quanto riguarda le soluzioni di casa Adobe il software pensato principalmente per lo sviluppo di applicazioni AIR è sicuramente Flex Builder, la cui versione 3 (anch'essa ancora in beta) è in grado di esportare nativamente applicazioni AIR ed offre anche alcuni componenti per facilitare lo sviluppo di questo tipo di applicazioni, ma Adobe ha rilasciato anche degli aggiornamenti per Flash CS3 e per Dreamweaver CS3 così da consentire a tutti gli utenti dei suoi software di punta di sperimentare questa nuova tecnologia. Tali estensoni sono distribuite ufficialmente da Adobe ma sono entrambe da considerare in beta.
È anche possibile (specialmente per le soluzioni HTML/Javascript) preparare il codice con altri editor e poi realizzare il file AIR manualmente sfruttando l'AIR SDK, ovviamente indispensabile comunque anche per lo sviluppo con Flash e Flex.
AIR è compatibile con Windows XP e Windows Vista, mentre per Macintosh la compatibilità è limitata a Mac OS X 10.4.8.
È disponibile oltre all'SDK una documentazione abbastanza corposa, sia per gli sviluppatori HTML/JavaScript, sia per gli sviluppatori Flex/Flash.
È inoltre disponibile un cheatsheet di tutti i comandi di AIR, non realizzato da Adobe ma dagli autori del blog "Actionscript CheatSheet"; è un PDF di 7 pagine ed è reperibile all'URL http://actionscriptcheatsheet.com/blog/archives/34
AIR non rappresenta una novità in senso assoluto per quanto riguarda la trasposizione di RIA sul desktop ma porta comunque delle innovazioni assolutamente rilevanti in tale ambito; nel corso di questa guida muoveremo i primi passi con AIR dall'installazione fino all'esportazione di una piccola applicazione; non tratteremo la parte relativa allo sviluppo con Ajax/Javascript, ma ci concentreremo sul lato Flash/Flex e vedremo come utilizzare AIR sia da Flash CS3 che da Flex 3.