Da Windows Phone a Windows 8: andata e ritorno
-
Upload
matteo-pagani -
Category
Technology
-
view
650 -
download
0
Transcript of Da Windows Phone a Windows 8: andata e ritorno
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
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 (
MOBILE DEVELOPER CONFERENCE 24 – 25 MAGGIO 2012
Nome - TwitterAzienda
GRAZIE!
Matteo PaganiMicrosoft MVP – Windows Phone Development
Mail: [email protected]: www.qmatteoq.comTwitter: @qmatteoq