Anda di halaman 1dari 39

Arquitectura de la

Plataforma de Desarrollo de Windows Phone 7

Isabel Gomez Development Advisor por partners isabelg@microsoft.com Microsoft Iberia

Eduardo Ortega MVP Movilidad eortega@micmovilidad.es Centro de Innovacin de Boecillo

Agenda
Tres pantallas y la Nube Arquitectura de la Plataforma de Desarrollo Modelo de Aplicacin Modelo de Interfaz de Usuario Frameworks Integracin con la Nube

3 Pantallas y La Nube
Experiencias gracias a Servicios

Navegador
Sitio Web

API Web

Introduccin a la Arquitectura de la Plataforma de Desarrollo

Silverlight

XNA

Silverlight y XNA

Experiencias de usuario diferenciales Plataforma de desarrollo potente y productiva Basado en XAML/orientado a eventos Plug-in multinavegador y multiplataforma

Plataforma de desarrollo de juegos de alto rendimiento Creacin rpida de juegos multipantalla, 2D y 3D Tecnologa madura y muy desplegada comn a XBOX, Windows y Zune

Aplicaciones
(y juegos)

(y aplicaciones)

Juegos

Arquitectura de la Plataforma de Desarrollo


Herramientas & Soporte
Emulador Telefono

Run Time Interfaz Usuario

Sensores Documentacion Comunidad


Telefono

Media

Datos

Localizacion

Ejemplos Guias

Servicios Juegos Notificaciones

Codigo Manejado .NET en Sandbox

Pantalla Nube

Herramientas de Empaquetado y Verificacion

Servicios Portal Desarrollador


Registro Validacion Certificacion Marketplace Facturacion Inteligencia Negocios

Servicios en la Nube
Notificationes Localizacion Despliegue Aplicaciones Identidad
Social

Feeds
Mapas

Publicacion

Gestion Actualizaciones

Arquitectura de la Plataforma de Desarrollo


Aplicaciones y Juegos Frameworks

Silverlight Modelo de Aplicacin


Gestin Aplicac. Licenciamiento Aislamiento Actualizaciones de Sw

XNA
CLR

HTML/JavaScript Integracin con Nube


Xbox LIVE Bing Localizacin Notificaciones Push Windows Live ID

Modelo de IU
Shell frame Gestin de Sesiones Direct3D Compositor

Kernel
Seguridad Networking Almacn Datos A-GPS Media

Hardware BSP
Acelermetro Brjula Proximidad de Luz Wi-Fi Radio Grficos

Especificacin Hardware

Dnde? Cmo?
Centro de Desarrollo de Windows Phone
Herramientas:
Windows Phone Developers Tool CTP Microsoft Expression Blend 4 RC Microsoft Expression Blend Software Development Kit (SDK) Preview for Windows Phone Microsoft Expression Blend Add-in Preview for Windows Phone

http://Developer.windowsphone.com

Herramientas Gratis

Algunos Ejemplos

XNA PlatformerKit
PlatformerKit en Windows Phone

XNA Arkanoid

Deep Zoom

Modelo de Aplicacin e Interfaz de Usuario

Modelo de Aplicacin: Conceptos


Aplicacin
Mi aplic.xap

Software identificable y licenciable empaquetado como XAP.

Despliegue de Aplicacin

Windows Phone Marketplace

Licencia de Aplicacin

Objeto verificable por criptografa que permite dar derechos de uso de la aplicacin

Windows Phone Marketplace

Ciclo de Vida de Aplicacin

Windows Phone Marketplace

El telfono slo instala paquetes .xap firmados por marketplace


El telfono usa el manifiesto para instalacin del xap

Los usuarios controlan la instalacin, actualizacin y desinstalacin, y el marketplace controla la revocacin

Aislamiento y Ejecucin de Aplicaciones


Aplicaciones y Licencias
Carpetas de instalacin de Aplicacin

Aplicaciones en Ejecucin

El telfono slo ejecuta aplicaciones con una licencia vlida del marketplace
Las aplicaciones se ejecutan en una sandbox con cuentas de seguridad independientes durante la instalacin y ejecucin

La poltica de asignacin de recursos mantiene la aplicacin activa viva


La poltica de gestin de recursos se asegura de que el usuario siempre puede ir a pantalla de inicio para ejecutar otra aplicacin

Modelo de IU: Conceptos


Aplicacin
Funcionalidad IU y lgica expuesta a travs de pginas

Pagina
Una pantalla de usuario con elementos de interaccin de usuario

Sesin
Un workflow ordenado de interacciones de usuario que engloban varias aplicaciones

Ejemplo de Navegacin de IU
Fotos
Vistazo a fotos recientes

Gente
Buscar el estado de un contacto

Fotos
Seguimos mirando fotos recientes

Sesiones Activas

Frameworks

Frameworks de Windows Phone 7

Frameworks en Detalle
Frameworks de Windows Phone
Cmara
PhoneApplicationFrame Integracin con Dispositivo

Tareas

Controles Windows Phone WebBrowserControl Sensors

PhoneApplicationPage

PushNotification

Presentacin y Media de Silverlight


Controles Formas Drawing XAML IsolatedStorage Media Navegacin

Frameworks XNA para Juegos


Drawing Media GamerServices Grficos Audio
Contenido

Entrada Datos

Objeto de Aplicacin Common Base Class Library


Runtime Seguridad Recursos Threading Globalizacin Colecciones

Reflection

Localizacin

Texto

IO

Net

Diagnostics Linq

ComponentModel

Configuracin

ServiceModel

SIP

MIC
Mic input
-

Cargar Microsoft.Xna.Framework.dll using Microsoft.Xna.Framework.Audio

Dar acceso a datos PCM WAV Llamar al evento BufferReady en intervalos regulares Llamar al mtodo GetData cada vez que la aplicacin lo requiera 10ms de latencia private void Start_Click(object sender, RoutedEventArgs e)
{ currentMic.BufferDuration = TimeSpan.FromMilliseconds(1000); currentData = new byte[currentMic.GetSampleSizeInBytes(currentMic.BufferDuration)]; currentMic.BufferReady += new EventHandler<EventArgs>(m_BufferReady); currentMic.Start(); } private void m_BufferReady(object sender, EventArgs e) { currentMic.GetData(currentData); currentStream.Write(currentData, 0, currentData.Length); }

private Microphone currentMic = Microphone.Default; private byte[] currentData; private MemoryStream currentStream = new MemoryStream(); SoundEffect currentSoundEffect; float volume, pitch, pan;

DEMO: Algunos frameworks

Integracin con la Nube

Integracin con la Nube: Conceptos


Windows Phone

Tu Servicio Web
Servicio Web personalizado

Aplicacin Windows Phone

Servicios Web Existentes

Servicios de Microsoft
Frameworks
Servicios de cliente de Integracin con la Nube
Servicio Localizacin Servicio Notificacin

Experiencias integradas y APIs contra servicios de Microsoft clave Frameworks de API conocidas para interactuar con servicios web 2.0 existentes Soporte rico para incorporar nuestros servicios web en experiencias de nuestra aplicacin

Servicio de Localizacin
Windows Phone

Tu Servicio Web
Servicio Web personalizado

Servicios Web Existentes

Servicios de Microsoft
System.Device.Location
Servicio cliente de Localizacin
Servicio de Localizacin

Soporte integrado para consumir datos GPS, AGPS y Wi-fi APIs manejadas para interaccin con localizacin Acceso WI-FI

Arquitectura de Cliente de Localizacin


Microsoft Services
Windows Phone Location Service

Aplicaciones y Juegos IU y lgica de Aplicacin

Silverlight
Modelo de Aplicacin
Gestin Aplicac. Licenciamiento Aislamiento Actualizaciones de Sw

Frameworks XNA CLR

HTML/JavaScript

Modelo de IU
Shell frame Gestin de Sesiones Direct3D Compositor

Integracin con Nube


Xbox LIVE Bing Localizacin Servicio de Localizacin Notificaciones Push Windows Live ID

Kernel
Seguridad Seguridad Networking Almacn Datos A-GPS Acelermetro A-GPS Wi-Fi Media Wi-Fi Brjula Radio

Hardware BSP
Proximidad de Luz Radio Grficox

Especificacin Hardware

DEMO: Localizacin

Servicio de Notificacin de Push


Windows Phone

Tu Servicio Web
Servicio Web personalizado

Servicios Web Existentes

Servicios de Microsoft
Microsoft.Phone.Notification

Push client service

Servicio de Notificacin

Soporte integrado para notificaciones push para uso eficiente de batera APIs de notificacin controla la interaccin con sitios web 2.0

Arquitectura del Cliente Push


Microsoft Services

Aplicaciones y Juegos IU y lgica de la aplicacin Frameworks Microsoft.Phone.Notification


Silverlight Modelo de Aplicacin
Gestin Aplicac. Licenciamiento Administrador Descargas Aislamiento Actualizaciones de Sw

Microsoft Push Notification Service

XNA CLR

HTML/JavaScript Integracin con Nube

Modelo de IU
Shell frame Gestin de Sesiones Direct3D Compositor

Xbox LIVE Bing de Tiles Servicio Localizacin Servicio de cliente Push Notificaciones Push Windows Live ID

Kernel

Seguridad Networking Networking Almacn Datos

Hardware BSP
A-GPS Media Acelermetro Brjula Wi-Fi Radio Wi-Fi Radio Grficox Proximidad de Luz

Especificacin Hardware

XBOX Live
Windows Phone
Peticiones web Especficas de juegos

Tu Servicio Web
Servicio Web Personalizado

Microsoft Services
XNA

Game Foundation

Llamadas XBOX LIVE Autenticadas

API de Gamer Services para Perfiles, logros y leaderboards de XBOX Live Game Foundation gestiona la autenticacin, caching & conectividad parcial con XBOX Live Tokens de terceros permite integracin segura con servicios especficos de juegos

Arquitectura de Gamer Services


Microsoft Services

Aplicaciones y Juegos Frameworks APIs de XNA Gamer Services HTML/JavaScript Silverlight XNA CLR Modelo de Aplicacin
Gestin Aplicac. Licenciamiento Aislamiento Actualizaciones de Sw Xbox LIVE

Modelo de IU
Shell frame Gestin de Sesiones Direct3D Compositor

Integracin con Nube


Bing Localizacin Notificaciones Push Servicio cliente Live ID Windows Live ID

Game Foundation Xbox LIVE

Windows Live ID

Kernel

Networking Seguridad A-GPS Networking Almacen Almacn Datos datos Media

Hardware BSP
Acelermetro Brjula Wi-Fi Radio Grficox Proximidad de Luz

Especificacin Hardware

DEMO: Un Juego Completo

Recursos
Centro de Desarrollo de Windows Phone
http://msdn.microsoft.com/es-es/windowsmobile/default.aspx

Herramientas:
Windows Phone Developers Tool CTP Microsoft Expression Blend 4 RC Microsoft Expression Blend Software Development Kit (SDK) Preview for Windows Phone Microsoft Expression Blend Add-in Preview for Windows Phone

Concurso: 15 de Abril: www.imaginemobile.es

2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.