Le novità di Windows Phone 8 per gli sviluppatori

di Matteo Pagani, in Windows Phone 8,

Nella giornata di ieri Microsoft, nella cornice della conferenza //build/, ha reso pubblica la tanto attesa SDK di Windows Phone 8, svelando così le principale caratteristiche sia consumer (anticipate da un evento tenuto a San Francisco il giorno precedente) che per sviluppatori della piattaforma.

Ora che il rilascio è ufficiale possiamo passare in rassegna tutte le novità per gli sviluppatori, partendo dai nuovi tool di sviluppo, che potete scaricare dal portale Microsoft e che sono disponibili in diverse lingue, Italiano incluso. La prima differenza, rispetto al passato, è che questa volta non ci sono state beta intermedie (se non una preview distribuita circa un mese fa ad un numero ristretto di sviluppatori): la versione dell'SDK di cui andrò a parlare è quella definitiva (in virtù anche del fatto che la commercializzazione dei nuovi device Windows Phone 8 inizierà proprio nei prossimi giorni)

Nuovi tool e nuovo emulatore

Grandi cambiamenti nella nuova versione dei tool di sviluppo, che abbracciano le più recenti tecnologie Microsoft: i tool infatti richiedono necessariamente Windows 8 e sono basati sulla versione 2012 di Visual Studio (se non ne avete già una copia verrà installata la versione Express ad hoc).

Il motivo di questo requisito è presto detto: il nuovo emulatore è in realtà una macchina virtuale basata su Hyper-V, la tecnologia di virtualizzazione di Microsoft che, solo a partire da Windows 8, è disponibile anche per i computer "consumer" (prima, infatti, era disponibile solo nelle edizioni server di Windows).

Purtroppo questo requisito causerà qualche grattacapo ai possessori di computer un po' datati: per eseguire Hyper-V è necessario un processore in grado di supportare una tecnologia chiamata SLAT (Second Level Address Translation), che è disponibile sui processori AMD che supportano l'RVI (Rapid Virtualization Indexing) o sui processori Intel dalla versione i3 in su. In questo articolo (in inglese) trovate le indicazioni su come scoprire se il vostro processore è in grado di supportare Hyper-V.

Per installare i tool di sviluppo è richiesta la versione RTM di Windows 8, disponibile al pubblico da pochi giorni (anche se i proprietari di un abbonamento MSDN o TechNet ne erano già in possesso dal 15 Agosto). Se non avete ancora una copia del nuovo sistema operativo Microsoft, potete scaricarne una versione di prova della validità di 90 giorni. Il mio consiglio è quello di installare questa versione in una partizione separata e non come sistema operativo principale: non sarà possibile, infatti, sbloccarla, ma sarà necessario procedere con una nuova installazione una volta in possesso di una copia valida di Windows 8.

L'altra novità è la presenza di tre emulatori differenti, ognuno con una risoluzione diversa; vi ricordo, infatti, che una delle novità di Windows Phone 8 è il supporto a due nuove risoluzioni oltre a quella attuale, ovvero 480x800 (WVGA), 768x1280 (WXGA) e 720x1280 (720p).

A parte queste differenze, per il resto ci troviamo in presenza di un emulatore con le stesse caratteristiche di quello che eravamo abituati ad utilizzare con i vecchi tool: essendo una macchina virtuale, è in grado di interfacciarsi con l'hardware del computer, dandovi perciò la possibilità di usufruire di accelerazione hardware, monitor touch screen e quant'altro. La novità è che, al contrario di quanto successo con Windows Phone 7, in questo caso l'immagine dell'emulatore non è ridotta, ma completa di tutte le feature e applicazioni del sistema operativo. Questo perché, come vedremo nel corso dell'articolo, le possibilità per gli sviluppatori di interazione con il sistema operativo sono molto superiori a quelle offerte da Windows Phone 7.

Altre novità le possiamo trovare all'interno di Visual Studio 2012: la prima è che, esattamente come era successo con l'SDK per Windows Phone 7.5, con la nuova SDK permette di sviluppare applicazioni per due versioni differenti della piattaforma, la 7.5 e la 8. Si tratta di una feature molto importante perché Windows Phone 8 è in grado di eseguire senza problemi le applicazioni per Windows Phone 7.5, ma non è vero il contrario: se sviluppate un'applicazione solo per Windows Phone 8, questa non sarà in grado di funzionare sui device della precedente generazione. Se volete perciò mantenere due versioni della vostra applicazione, dovrete a tutti gli effetti gestire due progetti differenti e, fortunatamente, l'SDK vi dà la possibilità di farlo direttamente con Visual Studio 2012.

L'altra novità è la Simulation Dashboard, un tool di Visual Studio che permette di simulare alcuni comportamenti reali del telefono: è possibile simulare variazioni nell'intensità del segnale e nel tipo di rete a cui siamo collegati (3G, 4G, ecc.), attivare la lock screen e inviare un reminder fittizio.

Infine, analogamente a quanto avviene con lo sviluppo di applicazioni per Windows 8, è stato aggiunto un editor visuale del file di manifest, che permette di non dover più intervenire manualmente (o quasi, alcuni casi non vengono ancora gestiti) sul file XML.

Qualche novità minore anche per quanto riguarda i tool che accompagnano l'emulatore: oltre alla possibilità di simulare alcuni sensori (accelerometro e GPS) e di scattare screenshot, ora abbiamo una nuova sezione dedicata alle informazioni sulla connessione di rete utilizzata dall'emulatore. Gradita l'introduzione della possibilità di catturare screenshot alla risoluzione corretta senza essere più costretti a impostare lo zoom dell'emulatore al 100% (cosa che rendeva difficoltosa l'operazione su pc dalle risoluzioni non troppo elevate).

Una nuova piattaforma di sviluppo

Dopo la presentazione di Giugno c'è stata molta discussione su quale sarebbe stata la piattaforma di sviluppo: durante l'evento si era accennato genericamente alla combinazione XAML / C# - VB.NET, facendo intendere un allineamento con Windows 8 e WinRT, con il conseguente abbandono dell'attuale runtime basato su Silverlight.

La verità, in realtà, sta nel mezzo: Windows Phone 8 è basato su un subset di WinRT e lo possiamo notare in molte delle nuove API che l'SDK ci mette a disposizione, basate sul pattern async / await. Lo XAML, però, non è quello nativo di WinRT, ma è una versione managed equivalente a quella di Silverlight. Lo XAML che abbiamo scritto per le nostre applicazioni Windows Phone 7 è perciò portabile al 100% su Windows Phone 8, behavior inclusi (che è una caratteristica, invece, che ad esempio non è disponibile nello XAML nativo di Windows 8).

L'altra caratteristica che salta subito all'occhio "giocando" con l'SDK è che, in virtù della retro compatibilità con le applicazioni per Windows Phone 7, troviamo alcune API e controlli "duplicati". Ne sono un esempio le API per l'accesso allo storage o quelle per utilizzare i servizi di geo localizzazione: troviamo sia quelle già conosciute in Windows Phone 7 (incluse nel namespace Microsoft.Phone), sia quelle nuove di WinRT (facenti parte del namespace Windows), che sfruttano le nuove keyword async e await di C# 5.0.

Lo stesso avviene per alcuni controlli: ad esempio, è disponibile sia il "vecchio" controllo Bing Maps che quello nuovo, basato sulle mappe di Nokia e che offre maggiori funzioni.

L'altra novità, già annunciata anch'essa all'evento di Giugno, è il supporto al codice nativo: ora è possibile scrivere applicazioni in C++, anche se alcune feature (come l'uso dei background task) sono accessibili solamente usando i linguaggi managed come C# o VB.NET. Questa caratteristica sarà apprezzata soprattutto dagli sviluppatori di videogiochi, che potranno ora riutilizzare il codice scritto per altre piattaforme senza essere costretti a riscrivere tutto in XNA.

I risultati di questo approccio iniziano già a farsi vedere: è recente la notizia che il prossimo titolo di Rovio, Angry Birds Star Wars, uscirà in contemporanea su tutte le piattaforme, inclusi Windows 8 e Windows Phone, proprio grazie al fatto che la celebre software house non è stata costretta a riscrivere il motore del gioco in XNA per renderlo compatibile.

E, a proposito di XNA, brutte notizie per chi si era dedicato a questa piattaforma: le applicazioni esclusive per Windows Phone 8 non supportano più questo framework. L'unico modo per continuare ad utilizzarlo è sviluppare applicazioni per Windows Phone 7, che funzionano senza problemi anche sulla nuova versione ma con il limite di non poter utilizzare nessuna delle nuove API e feature.

Infine, al contrario di Windows 8, nessun supporto per lo sviluppo nativo tramite HTML e Javascript: chi è abituato ad utilizzare linguaggi web dovrà "accontentarsi" delle nuove feature di Internet Explorer 10, tra cui un supporto più esteso alle novità di HTML5 e CSS3, che consentiranno di migliorare il supporto offerto da tool come PhoneGap per la piattaforma. Gli stessi tool di sviluppo includono un template dedicato per applicazioni HTML: non fatevi trarre in inganno però, non si tratta di WinJS, ma di un'applicazione già predisposta per l'utilizzo di un controllo WebBrowser.

6 pagine in totale: 1 2 3 4 5 6
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Top Ten Articoli

Articoli via e-mail

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

In primo piano

I più letti di oggi

In evidenza

Misc