370 likes | 493 Views
WINDOWS PHONE 7. Web mobile e Applicazioni. Matteo Pagani. Mobile Software Engineer Twitter : @qmatteoq Facebook : http://www.facebook.com/matteo.pagani Blog : http://qmatteoq.tostring.it E-mail: matteo.pagani@gaia.is.it. Agenda. UI e design Il device Lo sviluppo di applicazioni
E N D
WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook: http://www.facebook.com/matteo.pagani Blog: http://qmatteoq.tostring.it E-mail: matteo.pagani@gaia.is.it
Agenda • UI e design • Il device • Lo sviluppo di applicazioni • Il marketplace • L’accesso ai dati e al mondo esterno • Le notifiche push • IE Mobile • Demo: client Dexter per WP7
Qualcosa di nuovo... Un taglio netto rispetto al passato
LA UI: QUESTA SCONOSCIUTA Microsoft e il design: la strana coppia
Metro • Una nuova UI ispirata alla segnaletica aereoportuale e metropolitana. • Al centro l’utente: su questo paragidma è stata sviluppata tutta la UI e la logica delle applicazioni • OS rivolto ad un target consumer • Forte integrazione con i social network
Linee guida per i vendor • Per la prima volta, Microsoft ha predisposto delle linee guida per i vendor • Requisiti hardware minimi e dotazione di accessori obbligatoria • Presenza obbligatoria dei pulsanti Back, Start e Search
Le caratteristiche hardware • Multitouch capacitivo con 4 punti di contatto • Sensori: A-GPS, Accelerometro, Bussola, Luce, Prossimità • Fotocamera: 5 MP • Schermo: WVGA al lancio, HVGA in seguito • GPU: accelerazione DirectX 9 • Memoria: 256 MB Ram • Storage: 8 GB • CPU: ARMv7 Cortex / Scorpion
Cosa significa per gli sviluppatori? • API univoca per interfacciarsi con (quasi) tutti i sensori del telefono (accelerometro, GPS, ecc.) • Testing delle applicazioni più agile • Prestazioni indipendenti dal device • Semplicità di interfacciamento con tastiera e hardware buttons
LO SVILUPPO DI APPS Silverlight e XNA
Microsoft Silverlight • Applicazioni di tipo business / tradizionali / giochi vettoriali • Basato su Silverlight 3 con alcuni controlli e librerie specifiche per il device • Apps Windows Phone = Apps Silverlight 3 Out Of the Browser • Rumors sull’allineamento a Silverlight 4 per la RTM
XNA • Giochi / applicazioni multimediali / applicazioni con uso intensivo di audio e grafica • Compatibilità con DirectX 9 • Allineato con le versioni PC / Xbox • Unica differenza: i metodi di input
Cosa cambia per il dev WM? • Tutto! • Programmazione solamente in C# (anche se... Template per VB in arrivo?) • Architettura delle applicazioni completamente diversa • Concetto di storage e di manipolazione dati completamente differente
Cosa cambia per il dev Silverlight? • Pochissimo! • Nella maggior parte dei casi basta adattare lo XAML • Stesso approccio orientato ai servizi • Stesso approccio per la gestione dei dati
Perchè Silverlight? • Lo XAML è molto potente e permette di realizzare interfacce complesse e moderne. • Offre uno strumento sia per gli sviluppatori (Visual Studio) che per i designer (Expression Blend). • Gli sviluppatori Silverlight, in linea di massima, sono molto più sensibili ai temi di UX e design
Il marketplace La distribuzione delle applicazioni
I costi e i guadagni • 99 $ all’anno • Submit di applicazioni a pagamento illimitato • Submit di applicazioni gratuite: max 5, poi 19,99 $ • Agevolazioni per gli studenti tramite il programma Dreamspark • Revenue sharing del 30% con Microsoft
I punti di forza del Marketplace • Il concetto di trial: niente più doppioni della stessa applicazione • Una API a disposizione degli sviluppatori per gestire semplicemente le trial • Le applicazioni vengono firmate digitalmente da Microsoft stessa
I vincoli del Marketplace • Si possono registrare massimo 3 device per lo sviluppo. • Unico punto di distribuzione delle applicazioni: non è possibile distribuirle privatamente. • Problematiche per il testing su larga scala e per la distribuzione aziendale • Dimensione massima delle applicazioni: 2 GB • Dimensione massima delle applicazione scaricabili con connessione 3G: 20 MB
L’ACCESSO AI dati E AL MONDO ESTERNO Servizi e Isolated Storage
I limiti nell’accesso ai dati • Niente accesso all’esterno tramite socket • Non esiste, per ora, la possibilità di utilizzare database locale (anche su Codeplex ci sono alcuni progetti open source) • Non esiste il concetto di file system del device • Non è possibile condividere risorse tra più applicazioni
Isolated storage • File system in cui possiamo scrivere e leggere dati isolato per ogni applicazione • Accesso tramite la classe IsolatedStorageFile • Possibilità di utilizzare l’isolated storage per salvare facilmente i settings tramite la classe IsolatedStorageSettings • Dimensione massima dello storage utilizzabile: 2 GB
Come possiamo memorizzare i dati? • Servizi • XML (sfruttando l’Isolated Storage) • Rumors: SQL CE... Come? Dove? Quando?
No al multitasking • Le applicazioni di terze parti possono essere eseguite solo una alla volta. • Attenzione! No multitasking ≠ no multithread • Navigazione tra le applicazioni • Concetto di tombstoned
Le notifiche push • Permettono di segnalare eventi all’utente anche se la nostra applicazione è chiusa.
Le tipologie di notifiche push • RAW: può contenere informazioni di qualsiasi tipo, viene attivata solo se l’applicazione è aperta • Toast: tipologia più invasiva, visualizza un alert sullo schermo. Può veicolare testo. • Tile: aggiornamento della tile in home screen. Può contenere testo, un’immagine e un numero.
IE MOBILE Una nuova concezione di browser mobile
Un vero Internet Explorer • Non una versione realizzata ad hoc, ma una versione mobile del browser standard di Windows • Basato su IE7 con alcune feature di IE8 • Niente supporto ad HTML5 • No plugin per Silverlight e Flash (per ora? )
WebControl per le applicazioni • Controllo per includere una finestra di IE all’interno di una applicazione • Possibilità di interagire con il controllo tramite Javascript • Due eventi per passare comandi dall’applicazione alla pagina e viceversa
DEMO Dexter: un client WP7 e Silverlight
Cos’è Dexter? • Blog engine realizzato da Ugo Lattanzi (http://www.tostring.it) • Basato su ASP.NET MVC2 • Espone le operazioni principali per interfacciarsi con il blog tramite un servizio WCF • Hosted by Codeplex http://dexterblogengine.codeplex.com/
Cosa abbiamo visto? • Un’applicazione Windows Phone che consuma un servizio WCF • La semplicità nell’adattare un’applicazione Silverlight per Windows Phone • Come gestire l’asincronia degli eventi
Grazie! Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook: http://www.facebook.com/matteo.pagani Blog: http://qmatteoq.tostring.it E-mail: matteo.pagani@gaia.is.it