SlideShare ist ein Scribd-Unternehmen logo
1 von 33
DA WINDOWS PHONE A
WINDOWS 8: ANDATA E
RITORNO.
UN ESEMPIO REALE DI
PORTING.
Matteo Pagani
Microsoft MVP – Windows Phone Development

Mail: info@qmatteoq.com
Web: www.qmatteoq.com
Twitter: @qmatteoq
Agenda
•   Un caso reale: Ricette Toscane
•   L’architettura
•   Adattare la UI
•   Lo storage
•   I contracts: Search
•   Le tile multiple
Un caso reale: Ricette Toscane
• Un’applicazione per Windows Phone
  7.5
• Sviluppata con il pattern MVVM
• Supporto alle tile multiple
• Utilizzo di un database locale SQL CE
Da così...
A così...
Punti in comune
• Esperienza d’uso simile: sono
  applicazioni touch based
• Stesso paradigma di interfaccia
  grafica (Metro)
• Architettura e ciclo di vita delle
  applicazioni simile
Differenze
• Silverlight (.NET) vs WinRT
• Diverse risoluzioni e dimensioni dello
  schermo
• Diversi stati visivi: filled, snapped,
  portrait, ecc.
Quali soluzioni
architetturali?
Il pattern MVVM
• Separazione tra logica e UI
• Testabilità: è più semplice scrivere
  unit test
• Manutenibilità: è più facile
  identificare i problemi
• Blendability: è più semplice per un
  designer lavorare sulla UI
Model
• Sono i servizi che si occupano di
  recuperare i dati dell’applicazione
• Servizi asincroni che interagiscono
  con il database SQL CE
• Espongono le operazioni per
  recuperare le ricette
View
• E’ la UI dell’applicazione
• In Windows Phone è composta dai
  file XAML che definiscono il layout
• Non contiene logica nel code-behind
ViewModel
• Funge da punto di incontro tra la
  View e il Model
• Elabora i dati ricevuti dal Model e li
  adatta per essere presentati dalla
  View
MVVM Light
• Libreria open source per
  l’implementazione del pattern MVVM
• Sviluppata da Laurent Bugnion,
  Microsoft MVP
• Disponibile sia per Windows Phone
  che per WinRT
L’INTERFACCIA
Panorama
• Nasce per mostrare
  elementi differenti tra
  di loro
• Utilizzato nel menu
  principale per
  accedere alle ricette
Pivot
• Nasce per mostrare
  elementi differenti ma
  legati allo stesso
  contesto
• Utilizzato per mostrare
  le varie caratteristiche
  di una ricetta
Application Bar
   • Nasce per dare
     accesso alle funzioni
     più importanti legate
     al contesto
   • Utilizzata per dare
     accesso alle tile
     multiple
GridView e ListView
Application Bar
Snapped
DEMO
Lo storage in Windows Phone
• Isolated Storage: ogni applicazione
  ha un suo spazio isolato e dedicato
• Utilizzo di un database relazionale
  basato su SQL CE
• Interazione con il database tramite
  LINQ to SQL
Lo storage in Windows 8
• Tre tipologie di storage:
  – Local: equiparabile a quello di WP
  – Roaming: sincronizzato tramite account
    Live
  – Temporary: per la cache
• InstalledLocation, per accedere ai file
  inclusi nel progetto
Lo storage in Windows 8
• Serializzazione con XML / JSON
• SQL Lite con progetti open source
  come Callisto
  (http://s.qmatteoq.com/SqlLite)
• Cloud e servizi
DEMO
I contratti
• Un modo per fare interagire
  applicazioni con il sistema operativo
  o altre applicazioni
• Esempi di contratto: Search, Share,
  Print, Play To (DNLA)
Il search contract
• Evento OnSearchActivated dichiarato
  nell’App.xaml.cs
• Punto di accesso dell’applicazione
  quando viene attivata una ricerca
• Definizione di una pagina per
  mostrare i risultati
• Dichiarazione nel manifest
DEMO
Tile multiple
• Concettualmente identica alla
  controparte Windows Phone
• Possibilità di creare tile secondare
  con un deep link verso una pagina
  specifica con eventuali parametri
• Occorre gestire un ciclo di vita
  differente da quello standard
DEMO
Q&A
Laboratori su Windows 8
• Lab per i testing
• Lab per la precertificazione
• Contattare Lorenzo Barbieri
  (lorenzo.barbieri@microsoft.com)
GRAZIE!



Matteo Pagani
Microsoft MVP – Windows Phone Development

Mail: info@qmatteoq.com
Web: www.qmatteoq.com
Twitter: @qmatteoq

Weitere ähnliche Inhalte

Andere mochten auch

Mobil platformlar ve uygulamalar
Mobil platformlar ve uygulamalarMobil platformlar ve uygulamalar
Mobil platformlar ve uygulamalar
Suat Furkan ISIK
 
Proper full report
Proper full reportProper full report
Proper full report
Amar Sajjad
 
Auxicon Company Profile
Auxicon Company ProfileAuxicon Company Profile
Auxicon Company Profile
Aafiya Khan
 
Diário de pierre louis chardin
Diário de pierre louis chardinDiário de pierre louis chardin
Diário de pierre louis chardin
Helena Cordeiro
 

Andere mochten auch (13)

Enel Green Power in the Turkey Geothermal Market
Enel Green Power in the Turkey Geothermal MarketEnel Green Power in the Turkey Geothermal Market
Enel Green Power in the Turkey Geothermal Market
 
Geothermal Power Plant Design
Geothermal Power Plant DesignGeothermal Power Plant Design
Geothermal Power Plant Design
 
PFAFF HOBBY 1142 Türkçe Kullanım Kitabı
PFAFF HOBBY 1142 Türkçe Kullanım KitabıPFAFF HOBBY 1142 Türkçe Kullanım Kitabı
PFAFF HOBBY 1142 Türkçe Kullanım Kitabı
 
Mobil platformlar ve uygulamalar
Mobil platformlar ve uygulamalarMobil platformlar ve uygulamalar
Mobil platformlar ve uygulamalar
 
Windows 8 hardware sensors
Windows 8 hardware sensorsWindows 8 hardware sensors
Windows 8 hardware sensors
 
Keynote of the Windows Phone Day
Keynote of the Windows Phone DayKeynote of the Windows Phone Day
Keynote of the Windows Phone Day
 
Instructivo sepyme
Instructivo sepymeInstructivo sepyme
Instructivo sepyme
 
Lkp cv
Lkp cvLkp cv
Lkp cv
 
Grow With Gemara
Grow With GemaraGrow With Gemara
Grow With Gemara
 
Proper full report
Proper full reportProper full report
Proper full report
 
Auxicon Company Profile
Auxicon Company ProfileAuxicon Company Profile
Auxicon Company Profile
 
مکڑی – ایک معجزہ. Urdū (اُردُو)
مکڑی – ایک معجزہ. Urdū (اُردُو)مکڑی – ایک معجزہ. Urdū (اُردُو)
مکڑی – ایک معجزہ. Urdū (اُردُو)
 
Diário de pierre louis chardin
Diário de pierre louis chardinDiário de pierre louis chardin
Diário de pierre louis chardin
 

Ähnlich wie Da Windows Phone a Windows 8: andata e ritorno

Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net
Leonardo Alario
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store apps
DotNetCampus
 
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
SMAU
 
Sviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinSviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarin
Fabio Cozzolino
 
Slide typescript - xe dotnet - Codemotion Rome 2015
Slide typescript - xe dotnet - Codemotion Rome 2015Slide typescript - xe dotnet - Codemotion Rome 2015
Slide typescript - xe dotnet - Codemotion Rome 2015
Codemotion
 

Ähnlich wie Da Windows Phone a Windows 8: andata e ritorno (20)

Writing apps for android with .net
Writing apps for android with .net Writing apps for android with .net
Writing apps for android with .net
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store apps
 
Rich Internet Application
Rich Internet ApplicationRich Internet Application
Rich Internet Application
 
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
 
SUE AGILE Framework (Italiano)
SUE AGILE Framework (Italiano)SUE AGILE Framework (Italiano)
SUE AGILE Framework (Italiano)
 
Microservizi & DevOps
Microservizi & DevOpsMicroservizi & DevOps
Microservizi & DevOps
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 
Mobile e Smart Client
Mobile e Smart ClientMobile e Smart Client
Mobile e Smart Client
 
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
Costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
 
Introduzione alle Universal App
Introduzione alle Universal AppIntroduzione alle Universal App
Introduzione alle Universal App
 
Sviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinSviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarin
 
.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile
 
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
 
INTRO TO XAMARIN
INTRO TO XAMARININTRO TO XAMARIN
INTRO TO XAMARIN
 
Slide typescript - xe dotnet - Codemotion Rome 2015
Slide typescript - xe dotnet - Codemotion Rome 2015Slide typescript - xe dotnet - Codemotion Rome 2015
Slide typescript - xe dotnet - Codemotion Rome 2015
 
Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing
Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data SharingAccesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing
Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
 
Dot net framework 2
Dot net framework 2Dot net framework 2
Dot net framework 2
 
Dominopoint meet the experts 2015 - XPages
Dominopoint   meet the experts 2015 - XPagesDominopoint   meet the experts 2015 - XPages
Dominopoint meet the experts 2015 - XPages
 
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
 

Mehr von Matteo Pagani (8)

Windows Phone 8 enterprise, store e in app purchase
Windows Phone 8 enterprise, store e in app purchaseWindows Phone 8 enterprise, store e in app purchase
Windows Phone 8 enterprise, store e in app purchase
 
Lens App and Imaging SDK for Windows Phone
Lens App and Imaging SDK for Windows PhoneLens App and Imaging SDK for Windows Phone
Lens App and Imaging SDK for Windows Phone
 
MVVM e Caliburn Micro for Windows Phone applications
MVVM e Caliburn Micro for Windows Phone applicationsMVVM e Caliburn Micro for Windows Phone applications
MVVM e Caliburn Micro for Windows Phone applications
 
Visual Studio 2012 Tips & Tricks
Visual Studio 2012 Tips & TricksVisual Studio 2012 Tips & Tricks
Visual Studio 2012 Tips & Tricks
 
Windows Phone 7.5 Refresh: Performance e localizzazione
Windows Phone 7.5 Refresh: Performance e localizzazioneWindows Phone 7.5 Refresh: Performance e localizzazione
Windows Phone 7.5 Refresh: Performance e localizzazione
 
Il futuro di Windows Phone
Il futuro di Windows PhoneIl futuro di Windows Phone
Il futuro di Windows Phone
 
Multitasking, background agents and local notifications
Multitasking, background agents and local notificationsMultitasking, background agents and local notifications
Multitasking, background agents and local notifications
 
Introduzione a MVVM con MVVM light
Introduzione a MVVM con MVVM lightIntroduzione a MVVM con MVVM light
Introduzione a MVVM con MVVM light
 

Da Windows Phone a Windows 8: andata e ritorno

  • 1. DA WINDOWS PHONE A WINDOWS 8: ANDATA E RITORNO. UN ESEMPIO REALE DI PORTING. Matteo Pagani Microsoft MVP – Windows Phone Development Mail: info@qmatteoq.com Web: www.qmatteoq.com Twitter: @qmatteoq
  • 2. Agenda • Un caso reale: Ricette Toscane • L’architettura • Adattare la UI • Lo storage • I contracts: Search • Le tile multiple
  • 3. Un caso reale: Ricette Toscane • Un’applicazione per Windows Phone 7.5 • Sviluppata con il pattern MVVM • Supporto alle tile multiple • Utilizzo di un database locale SQL CE
  • 6. Punti in comune • Esperienza d’uso simile: sono applicazioni touch based • Stesso paradigma di interfaccia grafica (Metro) • Architettura e ciclo di vita delle applicazioni simile
  • 7. Differenze • Silverlight (.NET) vs WinRT • Diverse risoluzioni e dimensioni dello schermo • Diversi stati visivi: filled, snapped, portrait, ecc.
  • 9. Il pattern MVVM • Separazione tra logica e UI • Testabilità: è più semplice scrivere unit test • Manutenibilità: è più facile identificare i problemi • Blendability: è più semplice per un designer lavorare sulla UI
  • 10. Model • Sono i servizi che si occupano di recuperare i dati dell’applicazione • Servizi asincroni che interagiscono con il database SQL CE • Espongono le operazioni per recuperare le ricette
  • 11. View • E’ la UI dell’applicazione • In Windows Phone è composta dai file XAML che definiscono il layout • Non contiene logica nel code-behind
  • 12. ViewModel • Funge da punto di incontro tra la View e il Model • Elabora i dati ricevuti dal Model e li adatta per essere presentati dalla View
  • 13. MVVM Light • Libreria open source per l’implementazione del pattern MVVM • Sviluppata da Laurent Bugnion, Microsoft MVP • Disponibile sia per Windows Phone che per WinRT
  • 15. Panorama • Nasce per mostrare elementi differenti tra di loro • Utilizzato nel menu principale per accedere alle ricette
  • 16. Pivot • Nasce per mostrare elementi differenti ma legati allo stesso contesto • Utilizzato per mostrare le varie caratteristiche di una ricetta
  • 17. Application Bar • Nasce per dare accesso alle funzioni più importanti legate al contesto • Utilizzata per dare accesso alle tile multiple
  • 21. DEMO
  • 22. Lo storage in Windows Phone • Isolated Storage: ogni applicazione ha un suo spazio isolato e dedicato • Utilizzo di un database relazionale basato su SQL CE • Interazione con il database tramite LINQ to SQL
  • 23. Lo storage in Windows 8 • Tre tipologie di storage: – Local: equiparabile a quello di WP – Roaming: sincronizzato tramite account Live – Temporary: per la cache • InstalledLocation, per accedere ai file inclusi nel progetto
  • 24. Lo storage in Windows 8 • Serializzazione con XML / JSON • SQL Lite con progetti open source come Callisto (http://s.qmatteoq.com/SqlLite) • Cloud e servizi
  • 25. DEMO
  • 26. I contratti • Un modo per fare interagire applicazioni con il sistema operativo o altre applicazioni • Esempi di contratto: Search, Share, Print, Play To (DNLA)
  • 27. Il search contract • Evento OnSearchActivated dichiarato nell’App.xaml.cs • Punto di accesso dell’applicazione quando viene attivata una ricerca • Definizione di una pagina per mostrare i risultati • Dichiarazione nel manifest
  • 28. DEMO
  • 29. Tile multiple • Concettualmente identica alla controparte Windows Phone • Possibilità di creare tile secondare con un deep link verso una pagina specifica con eventuali parametri • Occorre gestire un ciclo di vita differente da quello standard
  • 30. DEMO
  • 31. Q&A
  • 32. Laboratori su Windows 8 • Lab per i testing • Lab per la precertificazione • Contattare Lorenzo Barbieri (lorenzo.barbieri@microsoft.com)
  • 33. GRAZIE! Matteo Pagani Microsoft MVP – Windows Phone Development Mail: info@qmatteoq.com Web: www.qmatteoq.com Twitter: @qmatteoq