sviluppo di applicazioni mobile con phonegap

22
phonegap cross-platform made easy

Upload: dotnetmarche

Post on 18-Dec-2014

454 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Sviluppo di applicazioni mobile con PhoneGap

phonegap

cross-platform made easy

Page 2: Sviluppo di applicazioni mobile con PhoneGap

piattaforme di interesse

AndroidiPhone/iPadBlackBerryWindows Phone/CE HTML5 => ~ 99%

Page 3: Sviluppo di applicazioni mobile con PhoneGap

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

Page 4: Sviluppo di applicazioni mobile con PhoneGap

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

Page 5: Sviluppo di applicazioni mobile con PhoneGap

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

Page 6: Sviluppo di applicazioni mobile con PhoneGap

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

Page 7: Sviluppo di applicazioni mobile con PhoneGap

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

Page 8: Sviluppo di applicazioni mobile con PhoneGap

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

Page 9: Sviluppo di applicazioni mobile con PhoneGap

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

Page 10: Sviluppo di applicazioni mobile con PhoneGap

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#

Page 11: Sviluppo di applicazioni mobile con PhoneGap

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"

Page 12: Sviluppo di applicazioni mobile con PhoneGap

http://www.visionmobile.com/blog/2012/02/crossplatformtool

Page 13: Sviluppo di applicazioni mobile con PhoneGap
Page 14: Sviluppo di applicazioni mobile con PhoneGap
Page 15: Sviluppo di applicazioni mobile con PhoneGap

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

Page 16: Sviluppo di applicazioni mobile con PhoneGap

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

Page 17: Sviluppo di applicazioni mobile con PhoneGap

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

Page 18: Sviluppo di applicazioni mobile con PhoneGap
Page 19: Sviluppo di applicazioni mobile con PhoneGap
Page 20: Sviluppo di applicazioni mobile con PhoneGap

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

Page 21: Sviluppo di applicazioni mobile con PhoneGap

debug

console.log(string)alert console.log(object)firebug ma chissene***?

Page 22: Sviluppo di applicazioni mobile con PhoneGap

PhoneGap Build

compiling in the cloud: https://build.phonegap.com