Adobe AIR: colmare il divario tra desktop e Web

7

John Warnock e Charles Geschke non si sono limitati a fondare un’azienda nel 1982. Hanno costruito l’infrastruttura per il modo in cui vediamo le informazioni oggi. Sistemi Adobe. Questo è il nome allegato al Portable Document Format (PDF). È lo standard per i file compatti, abbastanza piccoli da poter essere inviati tramite e-mail ma abbastanza stabili da essere stampati. Le aziende si affidano ad esso per condividere documenti senza interruzioni della formattazione. Lo usi per leggere articoli o visualizzare foto. Fondamentalmente è una fotocopiatrice illimitata sul tuo disco rigido. Poi c’è la suite creativa. Illustratore. Photoshop. InDesign. Questi strumenti consentono a chiunque, dai professionisti agli hobbisti, di manipolare immagini e layout. Senza Photoshop? Niente LOLcats. Internet sarebbe molto meno divertente.

Adobe ha cambiato la creazione dei contenuti. E ora vogliono cambiare il modo in cui i contenuti vivono online. L’obiettivo è semplice. Fai in modo che il desktop e il Web sembrino un unico luogo.

All’inizio del 2008, è stata lanciata la versione 1.0 di Adobe AIR. È un runtime di sistemi operativi incrociati. Gli sviluppatori lo utilizzano per raggruppare le tecnologie HTML, Ajax, Flash e Flex. Possono quindi distribuirli come Rich Internet Application (RIA) direttamente sul desktop. Adobe lo sta vendendo a sviluppatori, aziende e utenti regolari. Puoi scaricarlo gratuitamente.

Ma cosa fa realmente? E perché dovrebbe interessarti?

In che modo le ricche applicazioni Internet cambiano il tuo flusso di lavoro

Allora, cos’è una RIA? È un’applicazione che sembra un software desktop ma è costruita utilizzando tecnologie web. Le app Web tradizionali sono limitate dalla sandbox del tuo browser. Hanno bisogno di una connessione Internet costante. Si sentono pigri.

Adobe AIR rimuove questi vincoli. Consente agli sviluppatori di comprimere il proprio codice basato sul Web in applicazioni autonome. Lo installi. Si avvia in modo indipendente. Non ha bisogno di Chrome o Firefox per funzionare. Accede ai tuoi file locali, al tuo calendario, ai tuoi contatti. Sembra nativo.

Pensa ad Adobe Bridge. O anche strumenti semplici come l’estensione Adobe Reader. Prima di AIR, questi erano plugin goffi o widget web limitati. Con AIR diventano vere e proprie applicazioni. Più veloce. Più liscio. Funzionalità offline.

Questo è importante perché il web non è mai stato progettato per il sollevamento di carichi pesanti. È progettato per documenti e collegamenti. Ora, con Adobe AIR, puoi eseguire app complesse con un elevato utilizzo di dati senza uscire dall’ambiente desktop. Ottieni la portata del Web con la potenza del software nativo.

Perché gli sviluppatori scelgono Adobe AIR

Per i manipolatori di codici l’appello è chiaro. Costruisci una volta. Ti distribuisci ovunque. Finestre. macOS. Linux. Non è necessario scrivere app C++ o Java separate per ciascuna piattaforma. Ti attieni a HTML, CSS e JavaScript.

E non è solo una questione di portabilità. Riguarda l’accesso. AIR fornisce alle app Web l’accesso alle funzionalità del sistema operativo. Finestre di dialogo dei file. Icone della barra delle applicazioni. Archiviazione offline. Questo colma il divario. Smetti di costruire “siti Web che si comportano come app” e inizi a creare “app che vivono sul Web”.

Le aziende lo adorano. Possono inviare aggiornamenti istantaneamente. Non è più necessario attendere che l’IT installi le patch su ogni macchina. Basta aggiornare il server. Gli utenti riceveranno la nuova versione al successivo avvio dell’app.

Cosa significa per gli utenti quotidiani

Probabilmente non ti interessa l’architettura di runtime. Ti interessa ciò che viene eseguito su di esso.

Per

Cosa c’è realmente l’ARIA sotto il cofano

Prima di approfondire le specifiche di Adobe AIR, è necessario eliminare il gergo del marketing e comprendere cosa significa effettivamente runtime di più sistemi operativi. Fondamentalmente, Adobe AIR è un motore di runtime. Consideratelo come un traduttore.

Quando scrivi codice, non stai scrivendo in linguaggio macchina: gli 0 e gli 1 grezzi che la CPU capisce. Stai scrivendo in linguaggi di alto livello come HTML, XML o JavaScript. Il motore di runtime prende quel codice e lo traduce in istruzioni eseguibili. Senza questo livello, il tuo computer è solo un mattone silenzioso.

Consideriamo Java. Se un’applicazione è basata su Java, richiede che sia installata la Java Virtual Machine (JVM). Senza JVM, l’app non viene eseguita. È la stessa logica qui. Adobe AIR fornisce l’infrastruttura necessaria per eseguire il rendering di un’interfaccia utente grafica (GUI) sul desktop. Non si tratta solo di finestre e icone; si tratta dell’interfaccia uomo-computer che ti consente di interagire con il software utilizzando un mouse o una tastiera. In effetti, l’intero sistema operativo è essenzialmente un enorme motore di runtime, che media tra il tuo hardware e ogni app che apri.

Perché è importante il “sistema operativo incrociato”.

Quando Adobe definisce AIR una soluzione multipiattaforma, significa che può ignorare le differenze sottostanti del sistema operativo. Non è necessario riscrivere un programma in esecuzione su macOS per apparire nativo su Windows XP. AIR gestisce il rendering.

È qui che diverge nettamente dal Flash Player standard. Flash Player risiede all’interno del browser. È un plug-in. Le applicazioni Adobe AIR, tuttavia, risiedono sul desktop. Non hanno bisogno di Chrome o Firefox per funzionare. Poiché AIR include il renderer HTML open source WebKit, può visualizzare contenuti Web complessi direttamente nell’ambiente desktop. Colma il divario tra il mondo sandbox del browser e le funzionalità native del sistema operativo.

Definizione della RIA

Sentirai spesso Adobe fare riferimento a Rich Internet Applications (RIA). Questo è un termine ampio per le app Web che sembrano software desktop. Offrono elevata interattività e connettività. Siti come Flickr o Google Maps sono esempi classici. Sono coinvolgenti ma notoriamente difficili da programmare.

Adobe AIR è stato progettato per semplificare questo processo di sviluppo. Consente agli sviluppatori di sfruttare le migliori funzionalità dell’interazione basata sul Web e di inserirle in un’esperienza desktop autonoma. L’obiettivo? Un’esperienza utente che sembra nativa ma mantiene la connettività del web.

Chi trae vantaggio da Adobe AIR?

Adobe posiziona la piattaforma per servire tre gruppi distinti: sviluppatori, aziende e utenti finali.

Gli sviluppatori ottengono un vantaggio significativo. Poiché AIR supporta HTML, XML e JavaScript, non è necessario che imparino un linguaggio di codifica proprietario. Possono utilizzare tecnologie web familiari per creare applicazioni desktop. Ciò abbassa la barriera all’ingresso. Uno sviluppatore che sa come creare un sito Web può creare un’app desktop con il minimo sforzo.

Le aziende utilizzano AIR per aumentare il coinvolgimento degli utenti. Quando un utente può scaricare un’app direttamente sul desktop senza aprire un browser, è più probabile che la mantenga in esecuzione. Il coinvolgimento continuo batte la natura effimera di una scheda del browser.

Gli utenti finali ottengono applicazioni di più facile accesso e più reattive. Una volta installato AIR, queste app sono a portata di clic. Hanno meno voglia di visitare un sito Web e più di avviare un software.

Applicazione nel mondo reale: eBay Desktop

Non fidarti della parola di Adobe. Guarda eBay. Hanno rilasciato un’applicazione eBay Desktop basata su Adobe AIR.

Perché? Perché controllare le aste in un browser è complicato. Devi aggiornare o accedere costantemente. L’app eBay Desktop funziona in modo indipendente. Fornisce aggiornamenti continui sugli articoli per cui stai facendo offerte. Rimuove completamente l’attrito del browser. Questa è la promessa di AIR: prendere un flusso di lavoro basato sul Web e ottimizzarlo per l’ambiente desktop.

È ancora rilevante?

Il panorama è cambiato. Sebbene alcuni sviluppatori mantengano ancora progetti Adobe AIR, la tecnologia è stata ampiamente sostituita da framework moderni e metodi di sviluppo di app native.

Se ti chiedi se ne hai bisogno oggi, generalmente la risposta è no. Non è richiesto sui moderni sistemi macOS. Molti dei suoi casi d’uso sono stati assorbiti da app basate su Electron o da strumenti di sviluppo iOS/Android nativi. Ha funzionato. Ha risolto un problema specifico tra la metà degli anni 2000 e l’inizio degli anni 2010. Ma il Web e i desktop si sono fusi in modi che non richiedevano un livello di runtime separato.

“Adobe AIR era un ponte. Permetteva agli sviluppatori web di creare app desktop senza apprendere il codice nativo. Quel ponte è stato in gran parte ricostruito.”

La tecnologia non è morta, ma non è più la scelta predefinita. Per la maggior parte degli utenti, la necessità di installarlo non c’è più. Per gli sviluppatori, è uno strumento legacy. Il web è andato avanti.

L’eredità di Adobe AIR e l’evoluzione del Web

Il panorama dello sviluppo web è cambiato radicalmente da quei primi esperimenti. Ciò che era iniziato come una curiosità, ovvero colmare il divario tra browser e desktop, si è evoluto in qualcosa di molto più banale, ma ugualmente pervasivo. Non abbiamo più bisogno di un ambiente runtime dedicato come Adobe AIR per eseguire applicazioni Rich Internet. Il browser stesso è diventato la piattaforma.

Ma guardando indietro all’epoca in cui AIR prometteva di portare potenza di livello desktop alle tecnologie web, si scopre perché lo stack attuale è importante. Non era solo una questione di nostalgia. Si trattava di risolvere uno specifico punto di attrito: l’accesso offline.

Colmare il divario prima del dominio delle PWA

Nel 2007 e nel 2008, il web era online per primo. Se la connessione si interrompe, l’applicazione smette di funzionare. Adobe AIR ha cambiato la situazione consentendo agli sviluppatori di impacchettare HTML, JavaScript e CSS in applicazioni autonome in grado di archiviare i dati localmente. Offriva un assaggio del software del futuro, in cui la tua app Web viveva sul desktop e funzionava senza segnale.

“Adobe AIR offre allo sviluppo Web e desktop una boccata d’aria fresca.”

Questo non era solo un trucco. Ha affrontato i limiti dell’EULA standard e i giardini recintati del software desktop. Ha consentito agli sviluppatori di aggirare i vincoli dei sandbox del browser pur utilizzando gli standard web. Per gli utenti, significava applicazioni che sembravano native ma che erano costruite con tecnologie web.

Perché è avvenuto il cambiamento

L’ascesa delle Progressive Web Apps (PWA) e il miglioramento delle API del browser hanno reso AIR ridondante. I browser hanno guadagnato addetti ai servizi, spazio di archiviazione della cache e file manifest. Potrebbero eseguire la memorizzazione nella cache offline, inviare notifiche e persino installarle sul desktop senza un runtime separato. Alla fine Adobe ha spostato la sua attenzione, riconoscendo che la piattaforma web stava recuperando terreno.

Le fonti di quel periodo, come il servizio di Jacqui Cheng su Ars Technica o i primi look di Ryan Paul, evidenziano una fase di transizione. Hanno catturato l’entusiasmo di una tecnologia che prometteva di unificare lo sviluppo web e desktop. Tuttavia, hanno anche accennato alle sfide: problemi di sicurezza, problemi di installazione e l’eventuale obsolescenza del runtime stesso.

Cosa abbiamo imparato

La lezione dell’era AIR è chiara: le piattaforme convergono. Quando a una piattaforma manca una funzionalità, un’altra la adotta. La distinzione tra “app web” e “app desktop” è sempre più sfumata. Gli utenti si aspettano che i loro strumenti web funzionino offline, si sincronizzino su tutti i dispositivi e siano reattivi. Gli sviluppatori si aspettano che un’unica codebase raggiunga più schermi.

I collegamenti specifici a Come funziona il Web semantico e Come funziona l’infrastruttura Internet di quel periodo ci ricordano che le basi di queste applicazioni sono complesse. Non si tratta solo dell’interfaccia utente. Riguarda il modo in cui si spostano i dati, come vengono visualizzate le pagine e come si evolvono i protocolli di sicurezza.

Oggi, quando creiamo per il Web, stiamo costruendo un futuro indipendente dai dispositivi. Il runtime è il browser. L’API è il sistema operativo. La sfida non è più colmare il divario. Ottimizza prestazioni, accessibilità e privacy in un ambiente sempre connesso.

Gli strumenti cambiano. L’intento rimane: offrire agli utenti esperienze potenti e senza interruzioni. Che si tratti di un eseguibile autonomo o di un URL in una scheda, l’obiettivo è lo stesso. Siamo solo migliorati nel nascondere i macchinari.