da windows phone a windows 8: andata e ritorno
TRANSCRIPT
![Page 1: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/1.jpg)
MOBILE DEVELOPER CONFERENCE 24 – 25 MAGGIO 2012
Nome - TwitterAzienda
DA WINDOWS PHONE A WINDOWS 8: ANDATA E RITORNO. UN ESEMPIO REALE DI PORTING.Matteo PaganiMicrosoft MVP – Windows Phone Development
Mail: [email protected]: www.qmatteoq.comTwitter: @qmatteoq
![Page 2: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/2.jpg)
Agenda
• Un caso reale: Ricette Toscane• L’architettura• Adattare la UI• Lo storage• I contracts: Search • Le tile multiple
![Page 3: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/3.jpg)
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
![Page 4: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/4.jpg)
Da così...
![Page 5: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/5.jpg)
A così...
![Page 6: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/6.jpg)
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
![Page 7: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/7.jpg)
Differenze
• Silverlight (.NET) vs WinRT• Diverse risoluzioni e dimensioni dello
schermo• Diversi stati visivi: filled, snapped,
portrait, ecc.
![Page 8: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/8.jpg)
Quali soluzioni architetturali?
![Page 9: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/9.jpg)
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
![Page 10: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/10.jpg)
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
![Page 11: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/11.jpg)
View
• E’ la UI dell’applicazione• In Windows Phone è composta dai
file XAML che definiscono il layout• Non contiene logica nel code-behind
![Page 12: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/12.jpg)
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
![Page 13: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/13.jpg)
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
![Page 14: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/14.jpg)
L’INTERFACCIA
![Page 15: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/15.jpg)
Panorama
• Nasce per mostrare elementi differenti tra di loro
• Utilizzato nel menu principale per accedere alle ricette
![Page 16: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/16.jpg)
Pivot• Nasce per mostrare
elementi differenti ma legati allo stesso contesto
• Utilizzato per mostrare le varie caratteristiche di una ricetta
![Page 17: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/17.jpg)
Application Bar• Nasce per dare
accesso alle funzioni più importanti legate al contesto
• Utilizzata per dare accesso alle tile multiple
![Page 18: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/18.jpg)
GridView e ListView
![Page 19: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/19.jpg)
Application Bar
![Page 20: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/20.jpg)
Snapped
![Page 21: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/21.jpg)
DEMO
![Page 22: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/22.jpg)
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
![Page 23: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/23.jpg)
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
![Page 24: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/24.jpg)
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
![Page 25: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/25.jpg)
DEMO
![Page 26: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/26.jpg)
I contratti
• Un modo per fare interagire applicazioni con il sistema operativo o altre applicazioni
• Esempi di contratto: Search, Share, Print, Play To (DNLA)
![Page 27: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/27.jpg)
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
![Page 28: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/28.jpg)
DEMO
![Page 29: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/29.jpg)
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
![Page 30: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/30.jpg)
DEMO
![Page 31: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/31.jpg)
Q & A
![Page 32: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/32.jpg)
Laboratori su Windows 8
• Lab per i testing• Lab per la precertificazione• Contattare Lorenzo Barbieri (
![Page 33: Da Windows Phone a Windows 8: andata e ritorno](https://reader035.vdocuments.us/reader035/viewer/2022062707/55866e20d8b42a5c088b4644/html5/thumbnails/33.jpg)
MOBILE DEVELOPER CONFERENCE 24 – 25 MAGGIO 2012
Nome - TwitterAzienda
GRAZIE!
Matteo PaganiMicrosoft MVP – Windows Phone Development
Mail: [email protected]: www.qmatteoq.comTwitter: @qmatteoq