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

36
PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián www.geeks.ms/jyeray @JosueYeray [email protected]

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

Page 1: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON

SILVERLIGHTYeray Julián

www.geeks.ms/jyeray@JosueYeray

[email protected]

Page 2: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

ARQUITECTURA DE WP7

Configuración Correo

Búsquedas Cámara

Page 3: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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

Page 4: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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

Page 5: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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

Page 6: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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

Page 7: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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

Page 8: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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

Page 9: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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

Page 10: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

Cloud Integration:

ARQUITECTURA DE WP7

Page 11: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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

Page 12: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

WINDOWS PHONE

.NET FRAMEWORK SANDBOX

SENSORS MEDIA STORAGE LOCATION

Application Runtime:

ARQUITECTURA DE WP7

XBOX 360WINDOWS 7

Page 13: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

HOLA WP7

Configuración Correo

Búsquedas Cámara

DEMO

Page 14: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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

Page 15: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

BLEND FORWINDOWS PHONE 7

Page 16: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

BLEND FORWINDOWS PHONE 7

Page 17: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

WP7 BLEND

Configuración Correo

Búsquedas Cámara

DEMO

Page 18: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

WP7ACCESO A

RECURSOS LOCALES

Configuración Correo

Búsquedas Cámara

Page 19: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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

Page 20: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

.NET SANDBOX:

Native Code / SecurityCritical Code

SafeCritical Code

Transparent Code

Nuestra aplicación

WP7ACCESO A

RECURSOS LOCALES

Page 21: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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

Page 22: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

GUARDAR INFO DEL USUARIO

Configuración Correo

Búsquedas Cámara

DEMO

Page 23: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

WP7LAUNCHERS &

CHOOSERS

Configuración Correo

Búsquedas Cámara

Page 24: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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

Page 25: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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

Page 26: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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

Page 27: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

SMS & WEB BROWSER

Configuración Correo

Búsquedas Cámara

DEMO

Page 28: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

CAMARA

Configuración Correo

Búsquedas Cámara

DEMO

Page 29: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

WP7MARKETPLACE &

HOMEBREW

Configuración Correo

Búsquedas Cámara

Page 30: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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

Page 31: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

WP7MARKETPLACE &

HOMEBREW

Page 32: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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.

Page 33: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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)

Page 34: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

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

Page 35: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON SILVERLIGHT

PREGUNTAS

Configuración Correo

Búsquedas Cámara

Page 36: PROGRAMACIÓN EN WINDOWS PHONE 7 CON SILVERLIGHT Yeray Julián  @JosueYeray jjulian@plainconcepts.com.

PROGRAMACIÓN EN WINDOWS PHONE 7CON

SILVERLIGHT

¡GRACIAS!Yeray Julián

www.geeks.ms/jyeray@JosueYeray

[email protected]