SlideShare ist ein Scribd-Unternehmen logo
1 von 39
PhoneGap/Cordova &
Windows Phone

Dan Ardelean
dan.ardelean@neologics.eu
Sponsor
Chi sono?
• Co-fondatore di Neologics –

    sviluppo e consulting

• http://sviluppomobile.blogspot.it/

• Twitter: @danardelean

•
agenda

• Introduzione a PhoneGap/Cordova

• API per Windows Phone

• Plugins

• Tips and tricks Marketplace
Perché usare PhoneGap

• Svilupare applicazioni cross-platform: Windows

 Phone, iOS, Android, Bada

• Usare HTML5, Javascript e CSS3
PhoneGap o Cordova?

• Cordova è il progetto Open Source gestito da

 Apache Foundation

• PhoneGap è il «brand» comprato da Adobe

• Cordova è per PhoneGap come WebKit è per

 Chrome/Safari
Cordova non è:
• Cordova non è una libreria per interfaccia utente

• Il livello di compatibilità HTML5/CSS3 varia da

  piattaforma a piattaforma http://www.mobilehtml5.org

• Cordova non è un compilatore – ogni piattaforma a

  bisogno del suo compilatore

• Cordova non è un browser o un motore di rendering
Cordova è:



• Una piattaforma per creare applicazioni mobile native usando

  tecnologie Web (HTML5, CSS 3)

• Una libreria Javascript

• Una libreria nativa per ogni piattaforma

• Compilation helpers
Cordova e Windows Phone

• JS ->Codice nativo
  • Javascript chiama window.external.Notify(string)
  • Il codice C# ascolta per l’evento ScriptNotify

• Codice nativo -> JS
  • this.WebBrowser.InvokeScript(scriptName, string[]
    args);
Applicazioni web native
                         .basic & adv     .notifications
         .canvas         .transforms      .events
         .elements
UI




                         .transitions
         .svg            .animations


         .web workers
Logic




         .touch events



         .web storage    .file api
         .sql storage    .contacts api
Data




         .indexeddb
         .web sockets

                         .accelerometer
         .geolocation    .compass              .PhoneGap
Device




         .motion         .camera               plugins
         .multimedia     .network info
Deploy
Iniziamo da zero
• Windows Phone SDK

http://create.msdn.com

• PhoneGap/Cordova 1.6 .1

http://www.phonegap.com

• jQuery Mobile 1.1

http://www.jquerymobile.com
demo
Hello Cordova
Compatibilità
Accelerometro
• Metodi
  • accelerometer.getCurrentAcceleration
  • accelerometer.watchAcceleration
  • accelerometer.clearWatch

• Parametri
  • accelerometerSuccess
  • accelerometerError
  • accelerometerOptions

• Ogetti
  • acceleration : x, y, z, timestamp
demo
Accelerometro
Compass
• Metodi
  • compass.getCurrentHeading
  • compass.watchHeading
  • compass.clearWatch

• Parametri
  •   compassSuccess
  •   compassError
  •   compassOptions
  •   compassHeading: magneticHeading, trueHeading,headingAccuracy,
      timestamp
Geolocalizzazione
• Metodi
  • geolocation.getCurrentPosition
  • geolocation.watchPosition
  • geolocation.clearWatch

• Parametri
  • geolocationSuccess
  • geolocationError
  • geolocationOptions

• Ogetti
  • Position
  • PositionError
  • Coordinates
demo
Geolocalizzazione
Camera
• Metodi
  • camera.getPicture
  • navigator.camera.getPicture(, [ cameraOptions ] );

• Parametri
  • cameraSuccess
  • cameraError
  • cameraOptions

• Oggetti
  • imageURI
demo
Camera
Capture
• Metodi
   •   capture.captureAudio
   •   capture.captureImage
   •   capture.captureVideo
   •   MediaFile.getFormatData

• Oggetti
   •   Capture
   •   CaptureAudioOptions
   •   CaptureImageOptions
   •   CaptureVideoOptions
   •   CaptureCB
   •   CaptureErrorCB
   •   ConfigurationData
   •   MediaFile
   •   MediaFileData
demo
Capture
Media
• Metodi
   •   media.getCurrentPosition
   •   media.getDuration
   •   media.play
   •   media.pause
   •   media.release
   •   media.seekTo
   •   media.startRecord
   •   media.stopRecord
   •   media.stop

• Parametri
   •   src -URI
   •   mediaSuccess: (Optional)
   •   mediaError: (Optional)
   •   mediaStatus: (Optional)
demo
Media
Contatti
• Metodi
   • contacts.create
   • contacts.find

• Parametri
   •   contactFields
   •   contactSuccess
   •   contactError
   •   contactFindOptions

• Ogetti
   •   Contact
   •   ContactName
   •   ContactField
   •   ContactAddress
   •   ContactOrganization
   •   ContactFindOptions
   •   ContactError
demo
Contatti
Device & Connection
• Proprietà
   •   device.name
   •   device.cordova
   •   device.platform
   •   device.uuid
   •   device.version
   •   connection.type

• Enum
   •   Connection.UNKNOWN
   •   Connection.ETHERNET
   •   Connection.WIFI
   •   Connection.CELL_2G
   •   Connection.CELL_3G
   •   Connection.CELL_4G
   •   Connection.NONE
Eventi
• deviceready

• pause

• resume

• online

• offline

• backbutton

• batterystatus – per Windows Phone solo isPlugged
Notification


• Metodi
  •   notification.alert
  •   notification.confirm
  •   notification.beep
  •   notification.vibrate
demo
Notification
Cordova Plugins

• Integrare altre funzionalità native
  • Live Tiles
  • Navigazione
  • Integrazione con Facebook tramite ShareLinkTask
    and ShareLinkStatus
  • …
demo
Live Tile Plugin
Tips and tricks Marketplace:

• Per la pubblicazione sul

  Marketplace partite dal progetto

  custom di PhoneGap togliendo

  le funzionalità non usate
Tips and tricks Marketplace:

• Se usate la geolocalizzazione chiedete

  permesso al utente di usare la sua

  posizione e spiegate come sarà usata

  questa informazione.

• Inserire anche l’opzione per inibire

  questa funzionalità
Tips and tricks Marketplace:


• Fate attenzione al pulsante Back
Anteprima v1.7 per Windows Phone
Valutazione – Codice WP4




www.dotnetcampus.it/eval -> WP4
Notification

• $(document).ready(function () {

  $("#btnCall").click(function () { $.support.cors =

  true;

  $.getJSON("http://baconipsum.com/api/?type=me

  at-and-filler&callback=?", function (data) {

  $.each(data, function (index, element) {

  $("#result").append(element); }); }); }); });

Weitere ähnliche Inhalte

Andere mochten auch

Utilizzo dei beacon con windows 10
Utilizzo dei beacon con windows 10Utilizzo dei beacon con windows 10
Utilizzo dei beacon con windows 10Dan Ardelean
 
Porting dei giochi windows phone realizzati con xna sul windows store con mon...
Porting dei giochi windows phone realizzati con xna sul windows store con mon...Porting dei giochi windows phone realizzati con xna sul windows store con mon...
Porting dei giochi windows phone realizzati con xna sul windows store con mon...Dan Ardelean
 
Sviluppare una live app: notifiche, live tile, lock screen
Sviluppare una live app: notifiche, live tile, lock screenSviluppare una live app: notifiche, live tile, lock screen
Sviluppare una live app: notifiche, live tile, lock screenDan Ardelean
 
Design and develop cross-platform mobile apps using MVVMCross
Design and develop cross-platform mobile apps using MVVMCrossDesign and develop cross-platform mobile apps using MVVMCross
Design and develop cross-platform mobile apps using MVVMCrossDan Ardelean
 
Xamarin - why not ?
Xamarin -  why not ?Xamarin -  why not ?
Xamarin - why not ?Dan Ardelean
 
Community Days 2015 Introduzione a Xamarin
Community Days 2015  Introduzione a XamarinCommunity Days 2015  Introduzione a Xamarin
Community Days 2015 Introduzione a XamarinDan Ardelean
 
Sviluppo di applicazioni mobile cross platform
Sviluppo di applicazioni mobile cross platformSviluppo di applicazioni mobile cross platform
Sviluppo di applicazioni mobile cross platformDan Ardelean
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeDan Ardelean
 
A new world of possibilities for contextual awareness with beacons
A new world of possibilities for contextual awareness with beaconsA new world of possibilities for contextual awareness with beacons
A new world of possibilities for contextual awareness with beaconsDan Ardelean
 
Share more code on iOS, Android and Windows with Portable Class Libraries
Share more code on iOS, Android and Windows with Portable Class LibrariesShare more code on iOS, Android and Windows with Portable Class Libraries
Share more code on iOS, Android and Windows with Portable Class LibrariesDan Ardelean
 
Xamarin Dev Days 2016 introduction to xamarin
Xamarin Dev Days 2016   introduction to xamarinXamarin Dev Days 2016   introduction to xamarin
Xamarin Dev Days 2016 introduction to xamarinDan Ardelean
 
MVVMCross da Windows Phone a Windows 8 passando per Android e iOS
MVVMCross da Windows Phone a Windows 8 passando per Android e iOSMVVMCross da Windows Phone a Windows 8 passando per Android e iOS
MVVMCross da Windows Phone a Windows 8 passando per Android e iOSDan Ardelean
 

Andere mochten auch (12)

Utilizzo dei beacon con windows 10
Utilizzo dei beacon con windows 10Utilizzo dei beacon con windows 10
Utilizzo dei beacon con windows 10
 
Porting dei giochi windows phone realizzati con xna sul windows store con mon...
Porting dei giochi windows phone realizzati con xna sul windows store con mon...Porting dei giochi windows phone realizzati con xna sul windows store con mon...
Porting dei giochi windows phone realizzati con xna sul windows store con mon...
 
Sviluppare una live app: notifiche, live tile, lock screen
Sviluppare una live app: notifiche, live tile, lock screenSviluppare una live app: notifiche, live tile, lock screen
Sviluppare una live app: notifiche, live tile, lock screen
 
Design and develop cross-platform mobile apps using MVVMCross
Design and develop cross-platform mobile apps using MVVMCrossDesign and develop cross-platform mobile apps using MVVMCross
Design and develop cross-platform mobile apps using MVVMCross
 
Xamarin - why not ?
Xamarin -  why not ?Xamarin -  why not ?
Xamarin - why not ?
 
Community Days 2015 Introduzione a Xamarin
Community Days 2015  Introduzione a XamarinCommunity Days 2015  Introduzione a Xamarin
Community Days 2015 Introduzione a Xamarin
 
Sviluppo di applicazioni mobile cross platform
Sviluppo di applicazioni mobile cross platformSviluppo di applicazioni mobile cross platform
Sviluppo di applicazioni mobile cross platform
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo store
 
A new world of possibilities for contextual awareness with beacons
A new world of possibilities for contextual awareness with beaconsA new world of possibilities for contextual awareness with beacons
A new world of possibilities for contextual awareness with beacons
 
Share more code on iOS, Android and Windows with Portable Class Libraries
Share more code on iOS, Android and Windows with Portable Class LibrariesShare more code on iOS, Android and Windows with Portable Class Libraries
Share more code on iOS, Android and Windows with Portable Class Libraries
 
Xamarin Dev Days 2016 introduction to xamarin
Xamarin Dev Days 2016   introduction to xamarinXamarin Dev Days 2016   introduction to xamarin
Xamarin Dev Days 2016 introduction to xamarin
 
MVVMCross da Windows Phone a Windows 8 passando per Android e iOS
MVVMCross da Windows Phone a Windows 8 passando per Android e iOSMVVMCross da Windows Phone a Windows 8 passando per Android e iOS
MVVMCross da Windows Phone a Windows 8 passando per Android e iOS
 

Ähnlich wie Ardelean phone gap_wp4.

Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione AvanzataStefano Sanna
 
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...DrupalDay
 
Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...
Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...
Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...Giuseppe Cramarossa
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatoreSMAU
 
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoWorkshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoGabriele Gaggi
 
Introduzione ai Coded UI Tests
Introduzione ai Coded UI TestsIntroduzione ai Coded UI Tests
Introduzione ai Coded UI TestsPietro Libro
 
Azure dayroma java, il lato oscuro del cloud
Azure dayroma   java, il lato oscuro del cloudAzure dayroma   java, il lato oscuro del cloud
Azure dayroma java, il lato oscuro del cloudRiccardo Zamana
 
SkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimentoSkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimentoMavigex srl
 
Applicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceApplicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceDiego La Monica
 
Custom vision on edge device
Custom vision on edge deviceCustom vision on edge device
Custom vision on edge deviceAlessio Biasiutti
 
IoT Saturday 2019 - Custom Vision on Edge device
IoT Saturday 2019 - Custom Vision on Edge deviceIoT Saturday 2019 - Custom Vision on Edge device
IoT Saturday 2019 - Custom Vision on Edge deviceAlessio Biasiutti
 
DevOps@Work 2017 - Application insights more control, more power
DevOps@Work 2017 - Application insights more control, more powerDevOps@Work 2017 - Application insights more control, more power
DevOps@Work 2017 - Application insights more control, more powerRoberto Albano
 
ASP.NET MVC: Andare oltre il 100% (Web@work)
ASP.NET MVC: Andare oltre il 100% (Web@work)ASP.NET MVC: Andare oltre il 100% (Web@work)
ASP.NET MVC: Andare oltre il 100% (Web@work)Giorgio Di Nardo
 

Ähnlich wie Ardelean phone gap_wp4. (20)

Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione Avanzata
 
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
 
Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...
Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...
Esplorando il Cloud con Azure - Un viaggio tra IaaS, PaaS e SaaS e un compila...
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatore
 
Mobile senza frontiere
Mobile senza frontiereMobile senza frontiere
Mobile senza frontiere
 
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoWorkshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
 
Introduzione ai Coded UI Tests
Introduzione ai Coded UI TestsIntroduzione ai Coded UI Tests
Introduzione ai Coded UI Tests
 
Xamarin
XamarinXamarin
Xamarin
 
Web 2.0 sviluppare e ottimizzare oggi
Web 2.0 sviluppare e ottimizzare oggiWeb 2.0 sviluppare e ottimizzare oggi
Web 2.0 sviluppare e ottimizzare oggi
 
Azure dayroma java, il lato oscuro del cloud
Azure dayroma   java, il lato oscuro del cloudAzure dayroma   java, il lato oscuro del cloud
Azure dayroma java, il lato oscuro del cloud
 
SkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimentoSkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimento
 
Mobile e Smart Client
Mobile e Smart ClientMobile e Smart Client
Mobile e Smart Client
 
Applicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceApplicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformance
 
Custom vision on edge device
Custom vision on edge deviceCustom vision on edge device
Custom vision on edge device
 
IoT Saturday 2019 - Custom Vision on Edge device
IoT Saturday 2019 - Custom Vision on Edge deviceIoT Saturday 2019 - Custom Vision on Edge device
IoT Saturday 2019 - Custom Vision on Edge device
 
DevOps@Work 2017 - Application insights more control, more power
DevOps@Work 2017 - Application insights more control, more powerDevOps@Work 2017 - Application insights more control, more power
DevOps@Work 2017 - Application insights more control, more power
 
ASP.NET MVC: Andare oltre il 100% (Web@work)
ASP.NET MVC: Andare oltre il 100% (Web@work)ASP.NET MVC: Andare oltre il 100% (Web@work)
ASP.NET MVC: Andare oltre il 100% (Web@work)
 
Whymca Dive into Android [ITA]
Whymca Dive into Android [ITA]Whymca Dive into Android [ITA]
Whymca Dive into Android [ITA]
 
iOS Ecosystem
iOS EcosystemiOS Ecosystem
iOS Ecosystem
 
iOS Ecosystem
iOS EcosystemiOS Ecosystem
iOS Ecosystem
 

Mehr von Dan Ardelean

CI/CD for mobile development using AppCenter
CI/CD for mobile development using AppCenterCI/CD for mobile development using AppCenter
CI/CD for mobile development using AppCenterDan Ardelean
 
CI/CD for mobile development using Visual Studio App Center
CI/CD for mobile development using Visual Studio App CenterCI/CD for mobile development using Visual Studio App Center
CI/CD for mobile development using Visual Studio App CenterDan Ardelean
 
Visual Studio App Center: CI/CD para mobile devs
Visual Studio App Center: CI/CD para mobile devsVisual Studio App Center: CI/CD para mobile devs
Visual Studio App Center: CI/CD para mobile devsDan Ardelean
 
Desarrollo multiplataforma con el framework .net
Desarrollo multiplataforma con el framework .netDesarrollo multiplataforma con el framework .net
Desarrollo multiplataforma con el framework .netDan Ardelean
 
Xamarin.forms a different approach to native cross platform mobile development
Xamarin.forms a different approach to native cross platform mobile developmentXamarin.forms a different approach to native cross platform mobile development
Xamarin.forms a different approach to native cross platform mobile developmentDan Ardelean
 
Xamarin.Forms a different approach to cross platform natove mobile development
Xamarin.Forms a different approach to cross platform natove mobile developmentXamarin.Forms a different approach to cross platform natove mobile development
Xamarin.Forms a different approach to cross platform natove mobile developmentDan Ardelean
 
Xamarin - Under the bridge
Xamarin - Under the bridgeXamarin - Under the bridge
Xamarin - Under the bridgeDan Ardelean
 
Sviluppo x platform con xamarin
Sviluppo x platform con xamarin Sviluppo x platform con xamarin
Sviluppo x platform con xamarin Dan Ardelean
 
Develop for Windows 10 (Preview)
Develop for Windows 10 (Preview)Develop for Windows 10 (Preview)
Develop for Windows 10 (Preview)Dan Ardelean
 
Sviluppo di app cross platform con xamarin e C#
Sviluppo di app cross platform con xamarin e C#Sviluppo di app cross platform con xamarin e C#
Sviluppo di app cross platform con xamarin e C#Dan Ardelean
 
Bluetooth LE & Lumia Sensor Core
Bluetooth LE & Lumia Sensor CoreBluetooth LE & Lumia Sensor Core
Bluetooth LE & Lumia Sensor CoreDan Ardelean
 
Introduction to Xamarin 3
Introduction to Xamarin 3Introduction to Xamarin 3
Introduction to Xamarin 3Dan Ardelean
 
Developing for Windows Phone 8.1
Developing for Windows Phone 8.1Developing for Windows Phone 8.1
Developing for Windows Phone 8.1Dan Ardelean
 
Windows Phone Live Apps: tile, notifiche, lock screen e servizi in background
Windows Phone Live Apps: tile, notifiche, lock screen e servizi in backgroundWindows Phone Live Apps: tile, notifiche, lock screen e servizi in background
Windows Phone Live Apps: tile, notifiche, lock screen e servizi in backgroundDan Ardelean
 

Mehr von Dan Ardelean (14)

CI/CD for mobile development using AppCenter
CI/CD for mobile development using AppCenterCI/CD for mobile development using AppCenter
CI/CD for mobile development using AppCenter
 
CI/CD for mobile development using Visual Studio App Center
CI/CD for mobile development using Visual Studio App CenterCI/CD for mobile development using Visual Studio App Center
CI/CD for mobile development using Visual Studio App Center
 
Visual Studio App Center: CI/CD para mobile devs
Visual Studio App Center: CI/CD para mobile devsVisual Studio App Center: CI/CD para mobile devs
Visual Studio App Center: CI/CD para mobile devs
 
Desarrollo multiplataforma con el framework .net
Desarrollo multiplataforma con el framework .netDesarrollo multiplataforma con el framework .net
Desarrollo multiplataforma con el framework .net
 
Xamarin.forms a different approach to native cross platform mobile development
Xamarin.forms a different approach to native cross platform mobile developmentXamarin.forms a different approach to native cross platform mobile development
Xamarin.forms a different approach to native cross platform mobile development
 
Xamarin.Forms a different approach to cross platform natove mobile development
Xamarin.Forms a different approach to cross platform natove mobile developmentXamarin.Forms a different approach to cross platform natove mobile development
Xamarin.Forms a different approach to cross platform natove mobile development
 
Xamarin - Under the bridge
Xamarin - Under the bridgeXamarin - Under the bridge
Xamarin - Under the bridge
 
Sviluppo x platform con xamarin
Sviluppo x platform con xamarin Sviluppo x platform con xamarin
Sviluppo x platform con xamarin
 
Develop for Windows 10 (Preview)
Develop for Windows 10 (Preview)Develop for Windows 10 (Preview)
Develop for Windows 10 (Preview)
 
Sviluppo di app cross platform con xamarin e C#
Sviluppo di app cross platform con xamarin e C#Sviluppo di app cross platform con xamarin e C#
Sviluppo di app cross platform con xamarin e C#
 
Bluetooth LE & Lumia Sensor Core
Bluetooth LE & Lumia Sensor CoreBluetooth LE & Lumia Sensor Core
Bluetooth LE & Lumia Sensor Core
 
Introduction to Xamarin 3
Introduction to Xamarin 3Introduction to Xamarin 3
Introduction to Xamarin 3
 
Developing for Windows Phone 8.1
Developing for Windows Phone 8.1Developing for Windows Phone 8.1
Developing for Windows Phone 8.1
 
Windows Phone Live Apps: tile, notifiche, lock screen e servizi in background
Windows Phone Live Apps: tile, notifiche, lock screen e servizi in backgroundWindows Phone Live Apps: tile, notifiche, lock screen e servizi in background
Windows Phone Live Apps: tile, notifiche, lock screen e servizi in background
 

Ardelean phone gap_wp4.

  • 1. PhoneGap/Cordova & Windows Phone Dan Ardelean dan.ardelean@neologics.eu
  • 3. Chi sono? • Co-fondatore di Neologics – sviluppo e consulting • http://sviluppomobile.blogspot.it/ • Twitter: @danardelean •
  • 4. agenda • Introduzione a PhoneGap/Cordova • API per Windows Phone • Plugins • Tips and tricks Marketplace
  • 5. Perché usare PhoneGap • Svilupare applicazioni cross-platform: Windows Phone, iOS, Android, Bada • Usare HTML5, Javascript e CSS3
  • 6. PhoneGap o Cordova? • Cordova è il progetto Open Source gestito da Apache Foundation • PhoneGap è il «brand» comprato da Adobe • Cordova è per PhoneGap come WebKit è per Chrome/Safari
  • 7. Cordova non è: • Cordova non è una libreria per interfaccia utente • Il livello di compatibilità HTML5/CSS3 varia da piattaforma a piattaforma http://www.mobilehtml5.org • Cordova non è un compilatore – ogni piattaforma a bisogno del suo compilatore • Cordova non è un browser o un motore di rendering
  • 8. Cordova è: • Una piattaforma per creare applicazioni mobile native usando tecnologie Web (HTML5, CSS 3) • Una libreria Javascript • Una libreria nativa per ogni piattaforma • Compilation helpers
  • 9. Cordova e Windows Phone • JS ->Codice nativo • Javascript chiama window.external.Notify(string) • Il codice C# ascolta per l’evento ScriptNotify • Codice nativo -> JS • this.WebBrowser.InvokeScript(scriptName, string[] args);
  • 10. Applicazioni web native .basic & adv .notifications .canvas .transforms .events .elements UI .transitions .svg .animations .web workers Logic .touch events .web storage .file api .sql storage .contacts api Data .indexeddb .web sockets .accelerometer .geolocation .compass .PhoneGap Device .motion .camera plugins .multimedia .network info
  • 12. Iniziamo da zero • Windows Phone SDK http://create.msdn.com • PhoneGap/Cordova 1.6 .1 http://www.phonegap.com • jQuery Mobile 1.1 http://www.jquerymobile.com
  • 15. Accelerometro • Metodi • accelerometer.getCurrentAcceleration • accelerometer.watchAcceleration • accelerometer.clearWatch • Parametri • accelerometerSuccess • accelerometerError • accelerometerOptions • Ogetti • acceleration : x, y, z, timestamp
  • 17. Compass • Metodi • compass.getCurrentHeading • compass.watchHeading • compass.clearWatch • Parametri • compassSuccess • compassError • compassOptions • compassHeading: magneticHeading, trueHeading,headingAccuracy, timestamp
  • 18. Geolocalizzazione • Metodi • geolocation.getCurrentPosition • geolocation.watchPosition • geolocation.clearWatch • Parametri • geolocationSuccess • geolocationError • geolocationOptions • Ogetti • Position • PositionError • Coordinates
  • 20. Camera • Metodi • camera.getPicture • navigator.camera.getPicture(, [ cameraOptions ] ); • Parametri • cameraSuccess • cameraError • cameraOptions • Oggetti • imageURI
  • 22. Capture • Metodi • capture.captureAudio • capture.captureImage • capture.captureVideo • MediaFile.getFormatData • Oggetti • Capture • CaptureAudioOptions • CaptureImageOptions • CaptureVideoOptions • CaptureCB • CaptureErrorCB • ConfigurationData • MediaFile • MediaFileData
  • 24. Media • Metodi • media.getCurrentPosition • media.getDuration • media.play • media.pause • media.release • media.seekTo • media.startRecord • media.stopRecord • media.stop • Parametri • src -URI • mediaSuccess: (Optional) • mediaError: (Optional) • mediaStatus: (Optional)
  • 26. Contatti • Metodi • contacts.create • contacts.find • Parametri • contactFields • contactSuccess • contactError • contactFindOptions • Ogetti • Contact • ContactName • ContactField • ContactAddress • ContactOrganization • ContactFindOptions • ContactError
  • 28. Device & Connection • Proprietà • device.name • device.cordova • device.platform • device.uuid • device.version • connection.type • Enum • Connection.UNKNOWN • Connection.ETHERNET • Connection.WIFI • Connection.CELL_2G • Connection.CELL_3G • Connection.CELL_4G • Connection.NONE
  • 29. Eventi • deviceready • pause • resume • online • offline • backbutton • batterystatus – per Windows Phone solo isPlugged
  • 30. Notification • Metodi • notification.alert • notification.confirm • notification.beep • notification.vibrate
  • 32. Cordova Plugins • Integrare altre funzionalità native • Live Tiles • Navigazione • Integrazione con Facebook tramite ShareLinkTask and ShareLinkStatus • …
  • 34. Tips and tricks Marketplace: • Per la pubblicazione sul Marketplace partite dal progetto custom di PhoneGap togliendo le funzionalità non usate
  • 35. Tips and tricks Marketplace: • Se usate la geolocalizzazione chiedete permesso al utente di usare la sua posizione e spiegate come sarà usata questa informazione. • Inserire anche l’opzione per inibire questa funzionalità
  • 36. Tips and tricks Marketplace: • Fate attenzione al pulsante Back
  • 37. Anteprima v1.7 per Windows Phone
  • 38. Valutazione – Codice WP4 www.dotnetcampus.it/eval -> WP4
  • 39. Notification • $(document).ready(function () { $("#btnCall").click(function () { $.support.cors = true; $.getJSON("http://baconipsum.com/api/?type=me at-and-filler&callback=?", function (data) { $.each(data, function (index, element) { $("#result").append(element); }); }); }); });