Da Windows Phone a Windows 8: andata e ritorno

Post on 21-Jun-2015

650 views 0 download

Tags:

transcript

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: info@qmatteoq.comWeb: 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 (

lorenzo.barbieri@microsoft.com)

MOBILE DEVELOPER CONFERENCE 24 – 25 MAGGIO 2012

Nome - TwitterAzienda

GRAZIE!

Matteo PaganiMicrosoft MVP – Windows Phone Development

Mail: info@qmatteoq.comWeb: www.qmatteoq.comTwitter: @qmatteoq