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

Post on 02-May-2015

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

WINDOWS PHONE 7

Web mobile e Applicazioni

Matteo PaganiMobile Software Engineer

Twitter: @qmatteoqFacebook: http://www.facebook.com/matteo.paganiBlog: http://qmatteoq.tostring.itE-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

IL DEVICE

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 APPSSilverlight e XNA

Due ambienti diversi in un solo device

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 MARKETPLACELa 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

Il processo di approvazione

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

LE NOTIFICHE PUSH

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.

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

IE MOBILEUna 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

DEMODexter: 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 PaganiMobile Software Engineer

Twitter: @qmatteoqFacebook: http://www.facebook.com/matteo.paganiBlog: http://qmatteoq.tostring.itE-mail: matteo.pagani@gaia.is.it

top related