Slide sessione Mango - Torino Technologies Group

Windows Phone
Windows Phone 7
Codename Mango
Alessio Galdy
Cos’e Mango?
 Una Major Release di Windows Phone
 Piu’ di 500 nuove funzionalita’ per l’utente
 Piu’ di 1500 nuove API per gli sviluppatori
Argomenti
 Silverlight 4
 Database locale
 Integrazione XNA
 Multitasking
 Live Tiles
 Fast switching
 API sensori
 Prestazioni migliorate
 Tools
Silverlight 4
 Supporto MVVM migliorato
 ButtonBase espone ICommand
 I DependencyObject supportano il Binding
 Aggiunto Implicit Style Manger
 E’ possibile definire stili senza Key
 Gli stili sono applicati automaticamente
Database locale








Un database relazionale
Basato su SQL CE
Query tramite LINQ to SQL
Non supporta T-SQL
I dati risiedono nel IsolatedStorage
Non condivisibile con altre applicazioni
Eseguito nel processo dell’applicazione
Supporta la criptazione mediante Password
Demo Database Locale
Integrazione con XNA
 Silverlight e’ in grado di ospitare elementi XNA
 La classe UIElementRender “traduce” gli
elementi visuali di Silverlight (classe UIElement)
per XNA
 Il rendering e’ eseguito da XNA
 Silverlight gestisce l’hit test dei controlli
 Non e’ possibile ospitare elementi Silverlight in
un applicazione XNA
Demo Integrazione XNA
Multitasking
Molto differente dal multitasking del desktop
Quattro strumenti a disposizione:
 Scheduled Notificatons
 Scheduled Tasks
 Background Audio
 Background File Transfer
Scheduled Notifications
 Possibilita’ di schedulare azioni
 Precise al minuto
 Di due tipi:
 Alert
 Simile alla funzione sveglia
 E’ possibile definire un suono da riprodurre
 Reminder
 Visualizza una toast notification
 E’ possibile definire un richiamo a una pagina
dell’applicazione
Scheduled Tasks
 Sono porzioni di codice in una DLL secondaria
 Hanno un accesso limitato alle risorse
 Di due tipi:
 Periodic
 Sfrutta poche risorse
 Si svolge rapidamente
 Richiamato periodicamente indipendentemente dal carico
 Resource intensive
 Sfrutta molte risorse
 Puo’ durare molto tempo
 Richiamato quando il sistema e’ scarico (es schermo
bloccato, dispositivo in carica)
Demo PeriodicTask
Background Audio & File transfer
 Sono azioni che continuano al termine
dell’applicazione
 Se non avviate da un azione dell’utente il
sistema chiede l’autorizazione per l’esecuzione
 In caso di riproduzione o download di file pesanti
verificare la disponibilita’ del Wi-Fi
Live Tiles
E’ possibile editare il retro delle tiles
Possono essere modificate dall’applicazione
Possono essere modificate da Scheduled Tasks
ShellTileSchedule permette l’aggiornamento
schedulato
 Tiles secondarie




 Link a una pagina specifica dell’applicazione
 Si possono creare da codice
Demo Secondary Tiles
Fast Switching




Le applicazioni ripartono piu’ rapidamente
Aggiunto stato Dormant
Applicazione non in esecuzione ma in memoria
Resta la responsabilita di gestire il Tombstoning
Running
Activated
Deactivated
Dormant
Tombstoned
Prestazioni migliorate
 Gestione touch su thread secondario
 Vale anche per gli eventi [Breaking Change]
 ManipulationMode per forzare la gestione nella UI
 WebClient restituisce i dati sul thread che ha
originato la chiamata [Breaking Change]
 Browser basato su Internet Explorer 9
API Sensori
 Bussola
 Rotazione rispetto al polo nord magnetico
 Dati raw per rilevazione metalli
 Giroscopio
 Velocita’ di rotazione del dispositivo
 Motion API
 Raccoglie dati da accelerometro, bussola e
giroscopio
 Esegue calcoli per interpolare i dati
 Facilita la creazione di applicazioni che sfruttano il
movimento come input (es realta’ aumentata)
Tools
 Emulatore accelerometro
 Simula rotazione del dispositivo
 E’ possibile registrare macro di movimenti
 Emulatore geolocalizazione
 Simula il GPS
 E’ possibile registrare dei percorsi temporizati
 Profiler
 Colleziona dati riguardanti memoria e processore
 Fornisce suggerimenti per migliorare le prestazioni
DEMO PROFILER
DOMANDE??
GRAZIE!