ASP.Net  »  Articoli  »  Silverlight 

Sviluppare per Windows Phone 7: la prima applicazione

di: Roberto Brunetti     16 Giugno 2010

L'emulatore

L'emulatore, pur non potendo in questa prima CTP simulare le funzionalità hardware come accelerometro, bussola o GPS, consente di eseguire altre operazioni oltre al semplice test dell'applicazione corrente. Ad esempio è possibile simulare la rotazione del device di 90 gradi verso destra o verso sinistra tramite la pressione dei pulsanti della piccola toolbar visibile nella seguente figura:

Figura 10. ia
(clic per ingrandire)

Ancfaccia

Si può ovviamente tornare alla posizione Portrait premendo il pulsante inverso. A tale proposito occorre introdurre due argomenti che poi verranno sviscerati in diversa sede.

La rotazione non è obbliagatoria

Il primo argomento è, più che altro, una considerazione: ogni applicazione può supportare o meno la rotazione dello schermo, non tutte le applicazioni infatti devono ruotare seguendo l'orientamento del device. Si pensi ad esempio ad un gioco in cui è importante definire una superficie rettangolare dall'alto verso il basso con movimento orientato verso l'alto (per i nostalgici dei giochi anni 80 potrebbe essere 1942 oppure Penguin), oppure una applicazione che usa l'accelerometro per eseguire altre operazioni.

L'esempio più classico è "teeter": disponibile su qualunque telefono, consiste nel far eseguire alla pallina un percorso "ad ostacoli" per arrivare alla buca finale; per muovere la pallina l'utente deve orientare/piegare il telefono nelle varie posizioni; pensate a cosa succederebbe se al movimento verso destra, oltre a muovere la pallina a destra lo schermo ruotasse.

In una applicazione Silverlight è possibile indicare al sistema il tipo di orientamento supportato: il template di Visual Studio 2010 Express for Windows Phone attuale ci propone di impostare il supporto direttamente nel costruttore di una page: il livello viene impostato nella page e non nell'applicazione in quanto, giustamente, ogni page di una applicazione potrebbe supportare o meno la rotazione.

Interfacce indipendenti dalla risoluzione

Il secondo argomento da tenere in considerazione è il supporto per la risoluzione video oltre alla rotazione dello schermo: è fuori dallo scopo di questo articolo evidenziare le tecniche e le modalità per realizzare user interface indipendenti dalla risoluzione, ma è fondamentale tenerne conto in questo ambiente.

Zoom

L'emulatore consente anche di impostare il livello di Zoom per adattare la finestra a diverse risoluzioni video. Il tutto si effettua premendo il pulsante "chiave inglese" e impostando il livello di zoom nella maschera rappresentata nella figura seguente.

Figura 11. Pannello per lo zoom sull'emulatore

Pannello per lo zoom sull'emulatore

Debug

L'emulatore può essere utilizzato per effettuare più sessioni di debug, anche di applicazioni diverse: non è necessario chiudere l'emulatore per ogni operazione di correzione del codice: è sufficiente, anzi consigliato, stoppare l'applicazione da Visual Studio lasciando l'emulatore aperto, correggere il codice e rieffettuare un deploy tramite F5.

Tenere l'emulatore aperto ci consente di risparmiare molto tempo in quanto ad ogni riavvio l'emulatore dovrebbe caricare e inizializzare una lunga serie di feature, fra cui la possibilità di agganciarsi al PC che lo ospita per navigare in rete.

Internet Explorer

Inoltre, l'emulatore, consente di aprire Internet Explorer per raggiungere indirizzi http: premendo il pulsante Start nel centro della toolbar che i pulsanti del device reale si apre la "home page" del telefono, in cui compare l'icona di Internet Explorer.

Ad esempio, digitando "http://www.html.it" nell'indirizzo, possiamo verificare come la versione mignon di Internet Explorer visualizzi l'home page di HTML.it:

Figura 12. Home page di HTML.it su Explorer per Windows Phone

Home page di HTML.it su Explorer per Windows Phone

L'emulatore, anche se non ha la user interface definitiva, né tutte le applicazioni che troveremo sul telefono, fornisce già le API per interagire con esse: ad esempio è possibile leggere i dati sulla location, interagire con gli elementi di Outlook e così via.

Il 23 giugno 2010, a Milano, si terrà Microsoft Remix 2010, evento gratuito organizzato direttamente da Microsoft, che prevede una intera traccia di sessioni sullo sviluppo per Windows Phone 7.

Durante il Remix verrà utilizzata un'applicazione sviluppata dalla mia società per la valutazione in tempo reale delle sessioni: uno dei client, oltre al web e agli sms, sarà ovviamente Windows Phone 7. Ci vediamo a Milano.

Alla prossima

Roberto Brunetti si occupa di sviluppo mobile sin dal 1997. Ha scritto numerosi articoli, libri e pubblicazioni, partecipato a numerose conferenze italiane e internazionali. Si occupa di architetture distribuite, Windows Azure e dal momento dell'uscita della primo SDK, di Windows Phone 7. Roberto è uno dei fondatori del gruppo DevLeap con il quale eroga formazione e consulenza. La sua azienda, ThinkAhead, oltre allo sviluppo mobile, è specializzata su Windows Azure, piattaforma su cui Roberto ha scritto il suo ultimo libro. Potete seguire il lavoro di Roberto sul suo blog.

Guide ASP.Net

Guida Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Progettazione database

11 Maggio 2012 a Milano
Disponibilità: 6 Posti

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto