PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián @JosueYeray...

Post on 22-Feb-2015

1 views 0 download

Transcript of PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián @JosueYeray...

PROGRAMACIÓN EN WINDOWS PHONE 7CON

SILVERLIGHTYeray Julián

www.geeks.ms/jyeray@JosueYeray

jjulian@plainconcepts.com

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

ARQUITECTURA DE WP7

Configuración Correo

Búsquedas Cámara

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

HARDWARE

O.S.

Application Model

UIModel

Cloud Integration

Application Runtime Definición estricta de la arquitectura

Modelo de aplicaciones bien definido y acotado

Evitar Fragmentación del sistema

Simplificación del desarrollo de aplicaciones

ARQUITECTURA DE WP7

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

HARDWARE:• Muchos fabricantes, una especificación ‘mínima’

• Resolución, pantalla, sensores, CPU & GPU… • Más dispositivos a elegir

• Plataforma abierta de hardware, con puntos en común• Más sencillo programar• Misma experiencia de usuario en distintos dispositivos

ARQUITECTURA DE WP7

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

Kernel (WP7 O.S.):• Características

• Memoria Virtual, Paginación, seguridad y networking• Solo accesible por First Parties, Transparente para

el resto de los mortales• Drivers de dispositivos usados han sido realizados

por MSFT• Plataforma más consistente

ARQUITECTURA DE WP7

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

Application Model:• Paquetes XAP

• Formato ZIP• Ensamblados y recursos

• Toda aplicación obtiene un ID único• Usado para licenciamiento y actualización

• Toda aplicación se firma con certificados de seguridad• Firmado por Microsoft al publicar en el Marketplace• Modo demo – Modo Compra

ARQUITECTURA DE WP7

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

Iniciamos una aplicación

Aplicación en ejecución

Aplicación pausada

Aplicación suspendida

Aplicación reanudada

ARQUITECTURA DE WP7

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

UI Model:• Aplicaciones exponen UI & Lógica usando páginas

• Pagina = Una pantalla con Elementos de UI

ARQUITECTURA DE WP7

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

UI Model:• Sesiones

• Pueden incluir varias aplicaciones distintas• Son el conjunto de interacciones de un usuario para realizar una

tarea• App A.Fotos -> Sacar Foto -> App A.EditarFoto

ARQUITECTURA DE WP7

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

Cloud Integration:

ARQUITECTURA DE WP7

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

Application Runtime:• Dos Frameworks• Silverlight Mobile

• UI Basada en XAML• Desarrollo de aplicaciones• Comparte características con Silverlight 3/4

• XNA for Windows Phone• Framework integral para juegos• Solución Multi Screen 2D/3D• Xbox 360 / Windows Phone

ARQUITECTURA DE WP7

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

WINDOWS PHONE

.NET FRAMEWORK SANDBOX

SENSORS MEDIA STORAGE LOCATION

Application Runtime:

ARQUITECTURA DE WP7

XBOX 360WINDOWS 7

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

HOLA WP7

Configuración Correo

Búsquedas Cámara

DEMO

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

• Expression Blend for Windows Phone• Incluido en las herramientas de desarrollo• Simplifica la generación de UX avanzada• Especialmente pensado para Diseñadores

• Todas las acciones se realizan de forma visual.• No es necesario escribir código.

BLEND FORWINDOWS PHONE 7

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

BLEND FORWINDOWS PHONE 7

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

BLEND FORWINDOWS PHONE 7

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

WP7 BLEND

Configuración Correo

Búsquedas Cámara

DEMO

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

WP7ACCESO A

RECURSOS LOCALES

Configuración Correo

Búsquedas Cámara

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

.NET SANDBOX:• Aplicaciones aisladas

• No acceso directo a recursos locales

• Acceso a funcionalidades limitadas a través de API

• Dos aplicaciones no comparten almacenamiento

• No podemos hacer uso de código nativoWP7

ACCESO A RECURSOS LOCALES

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

.NET SANDBOX:

Native Code / SecurityCritical Code

SafeCritical Code

Transparent Code

Nuestra aplicación

WP7ACCESO A

RECURSOS LOCALES

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

.NET SANDBOX:• Acceso al almacenamiento Local

• No podemos acceder al sistema de archivos• En cambio podemos usar el IsolatedStorage

• System.IO.IsolatedStorage• IsolatedStorageFile

• IsolatedStorageFileStream

IsolatedStorageFile IsoFile = IsolatedStorageFile.GetUserStoreForApplication();

IsolatedStorageFileStream Stream = IsoFile.OpenFile("File1.hola", FileMode.OpenOrCreate);

WP7ACCESO A

RECURSOS LOCALES

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

GUARDAR INFO DEL USUARIO

Configuración Correo

Búsquedas Cámara

DEMO

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

WP7LAUNCHERS &

CHOOSERS

Configuración Correo

Búsquedas Cámara

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

.NET SANDBOX:• Acceso al hardware

• No podemos acceder directamente• Todo se realiza a través de .NET, no código nativo

• Launchers / Choosers: Microsoft.Phone.Taks• Acceso a funcionalidad del dispositivo• Cámara, Librería de imágenes, Mediaplayer• Sms, Email• Agenda de Contactos, Llamadas• Marketplace• WebBrowser

WP7ACCESO A

RECURSOS LOCALES

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

.NET SANDBOX:• LAUNCHER:• Lanza una funcionalidad del terminal y no devuelve

nada a nuestra aplicación.• WebBrowser, Marketplace…

• CHOOSER:• Lanza una funcionalidad del terminal y cuando regresa

nos devuelve datos.• Camara, Librería de imágenes…

WP7ACCESO A

RECURSOS LOCALES

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

.NET SANDBOX:• Ejemplo: Usar la cámara para sacar una foto.

• Creamos el Chooser CameraCaptureTask:

• En el evento completed tenemos la foto sacada:

Microsoft.Phone.Tasks.CameraCaptureTask Camara = new Microsoft.Phone.Tasks.CameraCaptureTask();Camara.Completed += new EventHandler<Microsoft.Phone.Tasks.PhotoResult>(Camara_Completed);

void Camara_Completed(object sender, Microsoft.Phone.Tasks.PhotoResult e) { BitmapImage bmp = new BitmapImage(); bmp.SetSource(e.ChosenPhoto); imagen.Source = bmp; }

WP7ACCESO A

RECURSOS LOCALES

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

SMS & WEB BROWSER

Configuración Correo

Búsquedas Cámara

DEMO

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

CAMARA

Configuración Correo

Búsquedas Cámara

DEMO

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

WP7MARKETPLACE &

HOMEBREW

Configuración Correo

Búsquedas Cámara

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

WP7MARKETPLACE &

HOMEBREW

Ya tengo mi aplicación… ¿Como puedo venderla?• La única vía que existe es el Marketplace• http://create.msdn.com

• Debemos registrarnos y pagar las cuotas anuales• 75€ (99$)• Si somos estudiantes: Gratis!

• 2 plataformas:• Windows Phone 7• Xbox 360

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

WP7MARKETPLACE &

HOMEBREW

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

WP7MARKETPLACE &

HOMEBREW

Ya tengo mi aplicación… ¿Qué implica?• Al subir una aplicación al Marketplace:• Microsoft realiza una serie de pruebas de

funcionamiento.• La aplicación se firma con un certificado de seguridad.• El consumidor podrá acceder a nuestra aplicación a

través del marketplace.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

WP7MARKETPLACE &

HOMEBREW

Se han vendido muy pocos Windows Phone 7 y no es rentable desarrollar… mejor desarrollar para: (plataforma

de la competencia)

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

WP7MARKETPLACE &

HOMEBREW

Apple Iphone (1G): 1 MILLON DE UNIDADES EN 74 DÍAS

Google Android: 1 MILLON DE UNIDADES EN 180 DÍAS

Microsoft Windows Phone 7: 1,5 MILLONES DE UNIDADES EN 42 DÍAS

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

PREGUNTAS

Configuración Correo

Búsquedas Cámara

PROGRAMACIÓN EN WINDOWS PHONE 7CON

SILVERLIGHT

¡GRACIAS!Yeray Julián

www.geeks.ms/jyeray@JosueYeray

jjulian@plainconcepts.com