Alcune domande e risposte su Windows Phone 7

Print Content | More

bg-brand

Settimana scorsa si è tenuto l’evento online di Microsoft Italia dedicato a Windows Phone 7 e alle novità del Marketplace. Ho avuto il piacere e l’onore di essere uno dei membri dell’Ask To Expert, ovvero gli “esperti” che erano a disposizione in chat per rispondere alle domande dell’utente. Nell’arco del pomeriggio abbiamo avuto l’occasione di rispondere a molte domande: alcune di queste erano più ricorrenti delle altre, ho deciso perciò di riportarle in questo post perchè credo possano essere utili anche a chi non ha avuto modo di partecipare all’evento.

Sono supportati i database relazionali?

La risposta è no: attualmente l’unico modo per memorizzare i dati della nostra applicazione è utilizzare l’Isolated Storage. Se abbiamo la necessità di utilizzare database, la soluzione più efficace è quella di ospitarli su un server remoto e creare un servizio WCF che esponga le operazioni a noi necessarie. Esistono alcune soluzioni come Ninja DB (simili a SQL Lite) che permettono di creare database sconnessi memorizzati su un singolo file, che può essere ospitato nell’Isolated Storage. Non si tratta però di soluzioni ufficialmente supportate da Microsoft: questo non significa che non funzionino, ma semplicemente che Microsoft non vi fornirà documentazione a riguardo e supporto in caso di problemi. In futuro potrebbe arrivare una versione di SQL CE che funzioni anche su Windows Phone 7: non si tratta però di una release che uscirà nel breve periodo, dato che la nuova versione di SQL CE (la 4.0) è stata annunciata da qualche mese e la novità principale è la possibilità di integrarlo in applicazioni ASP.NET. Ancora nessun supporto per applicazioni Silverlight.

Ho realizzato una applicazione business: come posso fare il deploy sui device del cliente senza passare per il Marketplace?

Durante le sessioni è stato ribadito come il Marketplace sia attualmente l’unico punto di distribuzione delle applicazioni: non è più possibile, come ad esempio avveniva con Windows Mobile, distribuire un CAB della nostra applicazione, copiarlo sul device e lanciare l’installazione.  Tante persone si sono poste la domanda (legittima) su come questo aspetto si sposi con le applicazioni business: la risposta alla domanda è che questa prima release di Windows Phone 7 nasce con un target consumer. Non è stata pensata per un target business, percià questi scenari non sono stati presi in considerazione. Questo non vuol dire che Windows Phone 7 non sarà mai orientato al business: sicuramente le versioni successive verranno incontro anche a questo tipo di esigenze. Voci di corridoio parlano della creazione di Marketplace “paralleli” pensati proprio per la distribuzione di applicazioni aziendali o di beta release per il testing.

Posso fare il porting della mia applicazione Windows Mobile su Windows Phone 7?

Nulla lo vieta, però non si tratterà di un porting ma più probabilmente di una completa riscrittura. L’architettura è infatti completamente diversa: le applicazioni Windows Mobile erano basate su WinForms e potevano essere scritte anche in C++, le applicazioni Windows Phone 7 sono basate esclusivamente su Silverlight e XNA e possono essere scritte solamente in C# e (da una settimana circa) anche in VB.NET (vedi una delle altre domande).

Windows Phone 7 è il successore di Windows Mobile 6.5?

Si, per il mondo consumer si. Windows Mobile 6.5 continuerà ad essere mantenuto, ma solo per i device industriali e tutti quegli ambiti (tipicamente business) non ancora supportati da Windows Phone 7.

Esiste un task manager per gestire le applicazioni in esecuzione?

Windows Phone 7 non è multitasking: questo significa che le applicazioni di terze parti possono girare solo una alla volta. Ogni qualvolta noi compiamo un’operazione che comporta la perdita del focus della nostra applicazione (premiamo il pulsante Start, apriamo un’altra applicazione, scriviamo un SMS) questa viene chiusa. Le applicazioni native possono girare in background: attenzione però, questo non vuol dire che se stiamo utilizzando Outlook o l’applicazione People e premiamo il pulsante Start questa vada in background. Significa semplicemente che alcuni servizi nativi del telefono possono girare in background: lo Zune Player può continuare a riprodurre musica anche quando è chiuso; la posta viene controllata anche se Outlook è chiuso e così via. Il focus rimane comunque su una applicazione alla volta, nativa o di terze parti che sia. Ecco perchè non è necessario un task manager: l’applicazione correntemente aperta sarà l’unica effettivamente in esecuzione in quel momento.

Aggiornamento: come giustamente mi ha ricordato Lorenzo, dire che Windows Phone 7 non è multitasking è tecnicamente impreciso. WP7 è infatti un OS pienamente multitasking, solo che per scelta progettuale (allo scopo di preservare la batteria e garantire a tutte le applicazioni le stesse prestazioni e l’accesso alle stesse risorse) il modello di esecuzione implementato è quello sopra descritto. 

Ci sarà Messenger tra i servizi Live integrati?

Non ci sarà un’applicazione nativa preinstallata sul device: dobbiamo però dimenticare l’approccio che avevamo con Windows Mobile 6.5, per cui il 90% delle applicazioni doveva essere già preinstallato sul telefono perchè poi cercarne  e installarne delle altre non era così semplice. Ora esiste il Marketplace, un punto di distribuzione unico e centralizzato delle applicazioni, che semplifica enormemente per gli sviluppatori la capacità di raggiungere il maggior numero di utenti possibile. Non è così improbabile perciò aspettarsi nel breve periodo un client per Messenger distribuito sul Marketplace. Da pochi giorni circolano sul web proprio alcune immagini di una versione che sembra essere sviluppata proprio da Microsoft stessa: potete vederli in questo articolo.

Quando usciranno i primi device?

La risposta ufficiale è non si sa, la risposta ufficiosa è probabilmente dalla seconda metà di Ottobre in poi. Quello che è sicuro è che Microsoft terrà un evento a Londra l’11 Ottobre, il cui argomento è però ancora top secret: è probabile che la presentazione ufficiale dei device Windows Phone 7 avverrà proprio in questo evento e finalmente verrà sollevato il velo di mistero sui modelli (e relative specifiche e prezzi) che saranno disponibili al lancio. Infine, tutti i rumors (frutto di alcune indiscrezioni raccolte dagli operatori telefonici) indicano il 21 Ottobre come data di uscita dei device sul mercato. Ricordatevi però che, anche se piuttosto affidabili, sono solamente rumors, non c’è ancora alcuna indicazione ufficiale da parte di Microsoft.

Aggiornamento: è stato confermato in mattinata da Microsoft che l’11 Ottobre avverrà la presentazione ufficiale di Windows Phone 7 in diversi paesi del mondo. In particolare, a New York si terra un evento presenziato da Steve Ballmer in persona nel quale figura anche l’intervento di alcune persone di T-Mobile che presenteranno ufficilamente i device che saranno disponibili al lancio. Potete vedere l’agenda completa dell’evento e il flyer di invito a questo link.

Perchè non è supportato VB.NET?

Questo era vero fino a qualche giorno fa: proprio il giorno stesso dell’evento Microsoft ha rilasciato una prima CTP dei tool di sviluppo con supporto a VB.NET. Ora perciò anche chi preferisce utilizzare questo linguaggio rispetto a C# non ha più scuse per saltare a bordo e iniziare a sviluppare applicazioni per Windows Phone 7 Smile Potete scaricare i tool da qui.

Prima il device veniva sincronizzato con il Windows Mobile Center: ora che applicazione verrà utilizzata?

Lo Zune Client (dalla versione 4.7) sarà lo strumento ufficiale per la sincronizzazione dei device. Attenzione però che è cambiato il concetto di sincronizzazione rispetto a Windows Mobile: lo Zune Client infatti serve solo per il trasferimento di tutti i dati multimediali (musica, foto, ecc.). Non è più prevista la sincronizzazione di mail, contatti, note e quant’altro tramite Active Sync: tutto questo ora passa solamente tramite Internet direttamente dal device. Sono supportati infatti numerosi tipi di account (Exchange, Live, ecc.) che vi permettono di mantenere sincronizzati tutti i vostri dati senza passare per il vostro computer.

Perchè dovrei scegliere Windows Phone 7 rispetto ad Android e iPhone?

A questa domanda in realtà una risposta non c’è: la soddisfazione nell’utilizzo di un device mobile è qualcosa di strettamente personale, legato a tanti fattori (quanto risponde alle nostre esigenze, quanto ci piace la UI, ecc.). Ci sono però dei punti di forza concreti di Windows Phone 7, che possono influenzare la nostra scelta:

  • La UI: può piacere o meno (questo è un fattore totalmente soggettivo), ma è innegabile che sia qualcosa di nuovo e di diverso rispetto agli altri device sul mercato. E’ oggettivo invece il fatto che dietro a Metro ci sia uno studio di usabilità molto avanzato, cha la rende chiara e semplice da usare.
  • L’integrazione con XBox: se siete amanti dei videogame e possedete un XBox, non potrete non apprezzare l’integrazione tra il device e il mondo XBox Live. Potrete avere achievements, friends e profili direttamente sul telefono: in più molti dei giochi che arriveranno saranno basati sugli stessi famosi brand che giochiamo sulle console tradizionali. Attenzione, l’integrazione con XBox non significa poter usufruire dei contenuti che avete scaricato sulla vostra console (come giochi o film) anche sul device.
  • Office: sui dispositivi mobile concorrenti esistono tante soluzioni per l’editing dei documenti, ma solo su Windows Phone 7 potete trovare una versione ad hoc di Office che vi garantisce piena compatibilità con la versione tradizionale, il supporto alle note di OneNote e alcune utili feature per il mondo business (come l’integrazione con Sharepoint).
  • Windows Phone è Microsoft – centrico: questo può essere un pregio o un difetto, a seconda delle vostre abitudini informatiche. Certo è che se usufruite sopratuttto dei servizi Microsoft (Exchange, Live, Skydrive, ecc.) Windows Phone 7 è quello che vi garantisce la migliore integrazione possibile (analogamente ad Android che offre supporto completo ai servizi di Google o iPhone ai servizi di MobileMe).


Windows Phone , Microsoft , Marketplace , Windows Mobile , Zune Client

3 comments

Related Post

  1. #1 da DonMizzi Thursday October 2010 alle 11:52

    ciao, ho letto con rammarico la notizia che per ora Phone 7 non avrà il supporto per sql compact.
    Grazie al consiglio del post stavo approfondendo l'utilizzo di ninja DB. sul sito del produttore c'e' una comparazione dei concorrenti e sembra che ci sia anche un DB di Windows Phone 7. di cosa si tratta?

    Infine ti chiedo una conferma, per Database sul dispositivo consigli ancora ninja DB o ci sono altre soluzioni venute fuori negli ultimi tempi?

    grazie mille
    ciao Domenico

  2. #2 da Matteo Pagani Thursday October 2010 alle 01:15

    Ciao Domenico,
    vedo anche io per la prima volta la tabella comperitiva e sinceramente sono rimasto un po' perplesso :)

    L'ipotesi è che si riferisca alla memorizzazione di dati tramite XML sull'Isolated Storage: se è così, la definizione di Windows Phone 7 database è decisamente impropria. Mi informo meglio e ti faccio sapere.

    Esiste un progetto su Codeplex che permette di gestire database con l'Isolated Storage, disponibile all'indirizzo http://winphone7db.codeplex.com/.

    Credo però che attualmente Ninja DB sia la soluzione migliore sul mercato.

    Ciao!

  3. #3 da Matteo Pagani Thursday October 2010 alle 01:17

    Rettifico il commento: mi sono accorto ora che il progetto su Codeplex che ti ho segnalato si chiama proprio "Windows Phone 7 database".

    Credo perciò che il prodotto di cui si parla nella tabella comparativa sia proprio questo progetto.


(will not be published)
(es: http://www.mysite.com)