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!