Sviluppo di applicazioni mobile con PhoneGap
-
Upload
dotnetmarche -
Category
Documents
-
view
452 -
download
0
description
Transcript of Sviluppo di applicazioni mobile con PhoneGap
phonegap
cross-platform made easy
piattaforme di interesse
AndroidiPhone/iPadBlackBerryWindows Phone/CE HTML5 => ~ 99%
sviluppo web● Caratteristiche:
● Modello sviluppo: HTML5 + JavaScript● UI web: HTML + CSS● Accesso GPS e LocalStorage, gestione Offline
● Vantaggi:● Requisiti: browser HTML5● Non richiede installazione● Aggiornabile facilmente
● Svantaggi:● No accesso hardware (fotocamera, contatti, risorse...)● Non installabile● Operazioni lato-client limitate
sviluppo nativo● Caratteristiche:
● Modello sviluppo applicazione nativa: Java/Obj-C/C#● UI nativa● Accesso completo all’hardware
● Vantaggi:● Performances e potenzialita’ al max● Installabile da marketplace
● Svantaggi:● Codice specifico per ogni dispositivo● Modelli di sviluppo differenti● Difficolta’ di aggiornamento
framework cross-platform● Web++
PhoneGap: webapp con accesso all’hardwareSito web con UI web, ma con accesso all’hardware del dispositivo
iPhone+Android+WinPhone : supporto completoBlackBerry-Symbian: supporto limitato
● MagicBoxTitanium: 1 «codice» per N applicazioni nativeAstrazione UI e hardware in un framework comune
iPhone+Android: supporto completoBlackBerry: supporto limitato
● AppXamarin: N applicazioni native in .NET e C#Accesso full all’hardware, limitata astrazione, ambiente unificato e «familiare»
iPhone: MonoTouch - Android: MonoDroid
phonegapWebApp + Hardware:● Applicazione nel browser del dispositivo (sandbox)● UI HTML – Codice in JavaScript● API JS unificata per accesso all’hardware● Deploy sul marketplace● Astrazione accesso all’hardware ● Accesso hardware "limitato"● SDK per sviluppare moduli ad-hoc Note:● Riutilizzo codice sito web per costruire l’app● Licenza OSS, zero vincoli e costi di sviluppo● Nitobi acquisita da Adobe● PhoneGap => Apache Cordoba
titanium
Framework comune per app native:● Applicazione nativa● Framework di astrazione hardware e componenti UI● Codice in JavaScript, comune per TUTTE LE PIATTAFORME● Deploy sul marketplace● Accesso hardware vincolato dal framework e "cross-platform"● SDK per sviluppare moduli ad-hoc (complicato e costoso) Note:● Licenza per scopi commerciali: «indie» 49$/anno● IDE basato su Eclipse● Codice JS non riutilizzabile
monotouch/droid
Wrapper .NET/C# sul dispositivo:● Applicazione nativa● Accesso hardware e UI dispositivo tramite API C#● Sviluppo codice in C# , specifico per ogni piattaforma● Riutilizzo codice di business non hardware-specifico● Deploy sul marketplace● Accesso all’hardware completo e specifico per piattaforma● Accesso codice «esterno»: P/Invoke e binding Obj-C/Java Note:● IDE: Visual Studio 2010 + MonoDevelop● Licenza per scopi commerciali: 400$+400$● Condivisione in genere codice C# «di business»● Accesso hardware «non UI» comune: Xamarin Mobile API e altre
astrazione: vantaggi/svantaggi● Vantaggi:
Riduzione esponenziale dei tempi di sviluppoTitanium: una linea di sviluppo per tre piattaforme mobilePhoneGap: una linea di sviluppo per sito web e app «native»
Riutilizzo codiceXamarin: condivisione codice da/verso «piattaforme .NET»
● Svantaggi:
Vincoli del framework:moduli non disponibili finchè non «ubiquitari» o da sviluppare/manutenere
Costi aggiuntiviCosto licenze del framework e del supporto tecnicoMinor disponibilità di documentazione ed esempi di codice
app nativa: vantaggi/svantaggi● Vantaggi:
Nessun vincolo di sviluppoAccesso pieno ed immediato all’hardware
NFC su Android appena disponibileAccesso al codice/documentazione specifica
Supporto tecnico direttoNessun costo aggiuntivo
● Svantaggi:Linee di sviluppo completamente separateAumento esponenziale dei tempi di sviluppoNessun riutilizzo di codice
Codice Business-UI-HW «multiplo» per Obj-C + Java + C#
IMHO (!?!)Se possibile, meglio la web application
HTML5 amplierà progressivamente l’accesso a funzionalità «native»Adobe ha «killato» Flash per i dispositivi mobile, in favore di HTML5
Se si prevedono funzionalita’ non-standard, meglio avere «le mani libere»
Il rischio insito nell’adozione di un framework cross-platform e’ che non copra le esigenze future
jQueryMobile + PhoneGap possono essere una valida soluzione per esigenze "standard"
http://www.visionmobile.com/blog/2012/02/crossplatformtool
don't blame phonegap...27% of developers planning to abandon PhoneGap. Why?https://groups.google.com/d/topic/phonegap/E2Usgyns2Uc/discussion
Don't blame PhoneGAP. The whole mobile world is a horror for each coder and it doesn't matter,
what technic you use. Every week some fundamental change which forces a update for all previous apps.
...Mobile world is fast. Maybe to fast for a old man. I'm coding since 30 years.
Every week a new horror. And only for a few you can blame phonegap... I',m sure, other frameworks have the same problems...
The only thing i dont like with phonegap is the documentation. But hey... everyone can contribute making it better...
Just my 2 cents
Who Uses PhoneGap?“more people than you think”http://www.tricedesigns.com/2012/03/27/who-uses-phonegapapache-cordova
● Wikipedia● Facebook● Salesforce● IBM● Microsoft● Adobe● RIM● Zynga● ... http://phonegap.com/apps
phonegap + cordova
● yesterday: phonegap: <= 1.4.1● today: cordova
http://incubator.apache.org/cordova1.5.0: :-((((1.6.0: Release Date: 27/Mar/12 1.7.0: Release Date: 30/Apr/12 1.8.0: Release Date: 29/May/12 1.9.0: Release Date: 26/06/12 2.0.0: Release Date: 31/07/12
● tomorrow: apache + phonegap ( + adobe?)
http://phonegap.com/2012/03/19/phonegap-cordova-and-what%E2%80%99s-in-a-name
support & tools
Google Group: https://groups.google.com/forum/#!forum/phonegap
StackOverflow: #phonegap #cordova
mobile simulator: http://www.electricplum.com/products.html
adobe shadow: http://labs.adobe.com/technologies/shadow
tiggzi: http://tiggzi.com
Ripple Mobile Environment Emulator: http://goo.gl/VC1V6appMobi PhoneGap XDK: http://goo.gl/8C9em
debug
console.log(string)alert console.log(object)firebug ma chissene***?
PhoneGap Build
compiling in the cloud: https://build.phonegap.com