Apache Cordova e un’estensione dell’ambiente di Microsoft consentono di operare su più piattaforme.
Vi state sbagliando se credete che lo sviluppo simultaneo di applicazioni native per le diverse varietà dei sistemi operativi per telefoni cellulari sia un territorio riservato agli sviluppatori più avventurosi e capaci, un terreno off limits per il tipico programmatore che trascorre la giornata dentro Visual Studio. In realtà è più facile di quel che si immagina confezionare un’applicazione per iOS e Android usando l’ambiente operativo di Microsoft e le tipiche conoscenze di uno sviluppatore web.
La magia la fanno due componenti tecnologiche. La prima è Apache Cordova, la seconda un’estensione di Visual Studio che integra perfettamente Cordova nell’ambiente e nel flusso di lavoro Microsoft, che tutti conosciamo e apprezziamo.
Apache Cordova (cordova.apache.org) è un ambiente basato su Node.js, che fonde html e JavaScript con le interfacce applicative necessarie per accedere alle funzioni native del dispositivo. Grazie all’integrazione fra Node.js e moduli plugin specifici per ogni piattaforma, si può usare l’accelerometro, pilotare la vibrazione, usare la geolocalizzazione, la fotocamera e tutte le funzioni native del telefono. L’interfaccia utente è basata su Html5 e Css3, un ambiente di programmazione familiare. La soluzione consente di creare pacchetti per ogni sistema operativo mobile.
Cordova è un progetto nato in Nitobi, una società comprata da Adobe nel 2011 (quando l’indirizzo della società di Vancouver era in Cordova Street), poi donato alla Apache Foundation per creare massa critica con gli sviluppatori di altre società . Esiste una versione commerciale di Cordova, ancora in sviluppo, chiamata PhoneGap (phonegap.com).
Microsoft ha pacchettizzato in modo eccellente questa soluzione integrandola impeccabilmente con VisualStudio. In particolare, l’estensione di VisualStudio elimina i problemi di configurazione che è facile incontrare quando si prepara un ambiente Cordova su una macchina Unix, come abbiamo provato a fare. Mettere insieme tutti i pezzi giusti del puzzle non è immediato e l’estensione risolve brillantemente il problema di andare a pescare le versioni corrette di Cordova, Node.js, ant e installare tutti i pacchetti con npm.
Soprattutto, Microsoft ha integrato l’ambiente di esecuzione con il debugger di VisualStudio, quindi lo sviluppatore può entrare nell’esecuzione di un’applicazione nel modo abituale. L’esecuzione di un’applicazione con diverse piattaforme è facilitata da Ripple, un ambiente di simulazione che può riprodurre le caratteristiche di diversi telefoni Android e degli iPhone, quindi possiamo passare dall’esecuzione simulata su un Nexus 7 a quella su un iPhone 5.
Naturalmente, è gestito Windows Phone e le applicazioni sono pacchettizzate automaticamente per la distribuzione sul negozio online di Microsoft. La pacchettizzazione di applicazioni per Android è semplice, richiede solo la generazione di una firma digitale. La pacchettizzazione finale e la distribuzione di un’applicazione iOS richiede un Mac e Xcode (e ovviamente la registrazione al programma per gli sviluppatori di Apple). Le istruzioni per la generazione di pacchetti si trovano su msdn.microsoft.com/it-it/library/dn757048.aspx.
Per saperne di più, la pagina iniziale del progetto è www.visualstudio.com/en-US/explore/cordova-vs. Gli sviluppatori possono essere contattati ponendo domande su StackOverflow.com.
Michele Costabile