PhoneGapBuild

14-Nov-14
PhoneGap Build
Adobe’s cloud mobile apps
packager
Vittorio Maniezzo - University of Bologna -
1
PhoneGap Build (WikiPedia)
PhoneGap è un framework di sviluppo mobile proposto da Adobe. Permette di
sviluppare applicazioni per dispositivi mobili utilizzando JavaScript, HTML5 e CSS3 invece
che basarsi su API native.
Il software sottostante PhoneGap è Cordova Apache (http://cordova.apache.org/), un
progetto open source.
Cordova estende HTML e Javascript in funzione del dispositivo. Le applicazioni ottenute
sono ibride: né veramente native (il rendering è fatto tramite web views) né puramente
web (sono confezionate come apps per la distribuzione e per avere accesso alle API
native del device).
È possibile mescolare liberamente parti di codice nativo e ibrido.
il servizio di PhoneGap Build di Adobe consente di caricare il codice sorgente HTML, CSS
e JavaScript in un "cloud compiler" che genera app per ogni piattaforma supportata.
Vittorio Maniezzo - University of Bologna -
2
1
14-Nov-14
Architettura
Le app PhoneGap utilizzano HTML5 e CSS3 per il rendering e JavaScript per la logica.
Anche se HTML5 fornisce l'accesso all'hardware (accelerometro, fotocamera, GPS, … ) il
supporto dei browser ad HTML5 non è coerente tra i vari browser mobile (scarso su
vecchie versioni di Android). Per questo, il framework di PhoneGap incorpora codice
HTML5 dentro WebView native del dispositivo, utilizzando quindi un' interfaccia esterna
per accedere alle risorse native.
PhoneGap può essere esteso con plug-in nativi richiamati da JavaScript, permettendo la
comunicazione diretta tra il livello nativo e la pagina di HTML5. PhoneGap include già
plugin di base che consentono l'accesso ad accelerometro, fotocamera, microfono,
bussola, filesystem e altro.
L'uso di tecnologie web-based porta molte applicazioni PhoneGap ad essere più lente di
applicazioni native con funzionalità simili, anche se il gap si sta riducendo.
Vittorio Maniezzo - University of Bologna
3
Funzionalità supportate per SO
Vittorio Maniezzo - University of Bologna
4
2
14-Nov-14
GitHub
Nuove app possono essere impostate solo a partire da repository GitHub
(https://github.com/). GitHub è il servizio di web di hosting per lo sviluppo
di progetti software più usato al mondo. Usa il sistema di controllo di
versione Git.
Cfr. https://help.github.com/articles/create-a-repo/
Vittorio Maniezzo - University of Bologna
5
Local github repository
Per lavorare con github è opportuno installare il client locale
(https://windows.github.com/). Altrimenti da riga di comando.
Poi, lanciare il client e clonare in locale il repository di interesse.
Lavorare sui file in locale. Quando finito:
1. Aggiungere da “Uncommited changes” un
nome del commit (sennò non funziona) e
cliccare “Commit to master”
1. Cliccare “Sync”
2. Verificare sul repository cloud che i file siano stati caricati.
Vittorio Maniezzo - University of Bologna
6
3
14-Nov-14
PhoneGap app
Selezionare “New app” a destra.
Dalla drop down list dei repo
giuthub, selezionare quello di
interesse e cliccare “Pull from
git repository”
Selezionare “Ready to build”
Aspettare che diventino
azzurri i marker delle
piattaforme interessate.
Vittorio Maniezzo - University of Bologna
7
Deploy, windows (no appstore)
Il Qtcode nella pagina phonegap NON funziona.
Necessario andare nella pagina del progetto e cliccare su "xap" per
scaricare il file.
Necessario essere registrati come sviluppatori
(http://dev.windows.com/en-us/join)
Poi si copia il file sul device e da
Store "Install local app", oppure
su PC lanciare "Application
deployment" (SDK o VisualStudio
2013)
Vittorio Maniezzo - University of Bologna
8
4