windows phone 7 web mobile e applicazioni matteo pagani mobile software engineer twitter: @qmatteoq...

37
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: [email protected]

Upload: calogera-boscolo

Post on 02-May-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

WINDOWS PHONE 7

Web mobile e Applicazioni

Matteo PaganiMobile Software Engineer

Twitter: @qmatteoqFacebook: http://www.facebook.com/matteo.paganiBlog: http://qmatteoq.tostring.itE-mail: [email protected]

Page 2: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 3: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

QUALCOSA DI NUOVO...Un taglio netto rispetto al passato

Page 4: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

LA UI: QUESTA SCONOSCIUTA Microsoft e il design: la strana coppia

Page 5: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 6: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

IL DEVICE

Page 7: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 8: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 9: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 10: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

LO SVILUPPO DI APPSSilverlight e XNA

Page 11: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

Due ambienti diversi in un solo device

Page 12: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 13: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 14: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 15: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 16: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 17: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

IL MARKETPLACELa distribuzione delle applicazioni

Page 18: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 19: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

Il processo di approvazione

Page 20: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 21: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 22: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

L’ACCESSO AI DATI E AL MONDO ESTERNOServizi e Isolated Storage

Page 23: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 24: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 25: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

Come possiamo memorizzare i dati?• Servizi

• XML (sfruttando l’Isolated Storage)

• Rumors: SQL CE... Come? Dove? Quando?

Page 26: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

LE NOTIFICHE PUSH

Page 27: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 28: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

Le notifiche push• Permettono di segnalare eventi all’utente anche se la

nostra applicazione è chiusa.

Page 29: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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.

Page 30: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

Differenze tra WP e iPhoneWindows Phone iPhone

Maggiore varietà di tipologie Limitate a pop up e badge

Maggiore semplicità nell’architettura Elevata complessità nell’architettura

Maggior semplicità di integrazione Difficoltà di integrazione a causa della diversa infrastruttura

Possibilità di gestire solo notifiche remote

Supporto a notifiche remote e locali

QoS a carico dello sviluppatore QoS supportato nativamente

Infrastruttura a pagamento (anche se prime 500 notifiche gratuite)

Infrastruttura gratuita

Page 31: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

IE MOBILEUna nuova concezione di browser mobile

Page 32: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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? )

Page 33: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 34: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

DEMODexter: un client WP7 e Silverlight

Page 35: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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/

Page 36: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

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

Page 37: WINDOWS PHONE 7 Web mobile e Applicazioni Matteo Pagani Mobile Software Engineer Twitter: @qmatteoq Facebook:  Blog:

GRAZIE!Matteo PaganiMobile Software Engineer

Twitter: @qmatteoqFacebook: http://www.facebook.com/matteo.paganiBlog: http://qmatteoq.tostring.itE-mail: [email protected]