Está en la página 1de 34

Diplomado de Windows Phone 8

devmasters.com.mx

Mdulo 1: Fundamentos a
la plataforma de
desarrollo para WP8

Qu es Windows Phone 8?

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

Diplomado de Windows Phone 8

devmasters.com.mx

Nuevo hardware

devmasters.com.mx

Caractersticas de Hardware
 Nuevos chipset grficos
 Nuevos procesadores

grficos

 Ms RAM
 Ms resoluciones
 WVGA
 WXGA
 720p

 Almacenamiento removible
 NFC

devmasters.com.mx

Ncleo compartido

Ncleo de Windows Compartido


devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

Diplomado de Windows Phone 8

devmasters.com.mx

Ncleo compartido
 Algunos componentes del sistema operativo son los mismos

entre Windows 8 y Windows Phone 8









NT Kernel
NTFS
Comunicaciones y redes
Seguridad
Grficos
Multimedios

 No son *exactamente* las mismas APIs


 Probablemente se reduzcan las diferencias en Windows 8.1+ y Windows

Phone 8.x / 9

devmasters.com.mx

APIs en Windows Phone 8

API de .NET para


Windows Phone

Windows Phone
Runtime

Win32 y COM

Manejado

Manejado y Nativo

Nativo

devmasters.com.mx

API de .NET para Windows Phone


 Misma API que en
Windows Phone 7.1
API de .NET para
Windows Phone

 Algunas nuevas clases


para WP8
 Microsoft.Phone.Wallet

Manejado

 Microsoft.Phone.Tasks.ShareMediaTask
 Microsoft.Phone.Tasks.MapsTask
 Microsoft.Phone.Storage.ExternalStorage

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

Diplomado de Windows Phone 8

devmasters.com.mx

Windows Phone Runtime


 Subconjunto de WinRT, con

WinRT

Windows Phone
Runtime

unas adiciones especficas


para el telfono:
 Voz
 Windows.Phone.PersonalInformation
 LockScreen

Manejado y Nativo

 Implementado en C++ y

proyectado hacia
C#/VB.NET
devmasters.com.mx

Win32 y COM
 Acceso a *algunas* APIs de

Win32

Win32 y COM

Nativo









CoTaskMemAlloc
CoTaskMemFree
CoInitializeEx
CreateFile2
ReadFile
WriteFile

 De particular inters para

desarrolladores de C++

devmasters.com.mx

Eligiendo un API
API de .NET para Windows Phone
Desarrolladores de WP7.1 y WP8

Windows Phone Runtime


Desarrolladores que deseen compartir cdigo
entre WP8 y Windows 8.x
devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

Diplomado de Windows Phone 8

devmasters.com.mx

Novedades en Windows Phone 8

Nuevos controles
 LongListSelector
 Panorama y Pivot ahora
estn en ROM
 Mejor rendimiento

 WebBrowser basado en
IE10

devmasters.com.mx

Mosaicos
 Windows Phone 8 soporta tres tipos de mosaicos:

Giratorio

Gira para mostrar la parte


delantera y trasera (similar al de
WP7.1)

Icnico

Diseo icnico para reflejar los


principios de diseo de Windows
Phone

Cclico

Cicla hasta nueve imgenes

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

Diplomado de Windows Phone 8

devmasters.com.mx

Mosaicos
 Windows Phone 8 soporta tres tipos de mosaicos:

Giratorio

Gira para mostrar la parte


delantera y trasera (similar al de
WP7.1)

Icnico

Diseo icnico para reflejar los


principios de diseo de Windows
Phone

Cclico

Cicla hasta nueve imgenes

devmasters.com.mx

Mosaicos
 Windows Phone 8 soporta tres tipos de mosaicos:

Giratorio

Gira para mostrar la parte


delantera y trasera (similar al de
WP7.1)

Icnico

Diseo icnico para reflejar los


principios de diseo de Windows
Phone

Cclico

Cicla hasta nueve imgenes

devmasters.com.mx

Mosaicos
 Windows Phone 8 soporta tres tamaos para los
mosaicos:
Giratorio y Cclico

Icnico

Pequeo

159 159 pixeles

110 110 pixeles

Mediano

336 336 pixeles

202 202 pixeles

Ancho

691 336 pixels

N/D

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

Diplomado de Windows Phone 8

devmasters.com.mx

Pantalla de Bloqueo
 Una aplicacin puede
registrarse como
proveedora de:
 Imagen de fondo
 Notificaciones

devmasters.com.mx

Mapas
 Mapas con tecnologa de
Nokia
 El control de mapa de
WP7.1 todava est
soportado, aunque no se
recomienda ms su uso

devmasters.com.mx

Servicios de Ubicacin
 Nuevo servicio de
ubicacin para WP8
 Similar al de Windows 8

 Agente en segundo
plano disponible para
aplicaciones de rastreo
de constante de
ubicacin
devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

Diplomado de Windows Phone 8

devmasters.com.mx

Voz
 Escenarios:
 Voz a texto
 Texto a voz

 Comando de voz
 Permite especificar un

prefijo para tu aplicacin


+ un comando que tu
aplicacin entienda
devmasters.com.mx

Billetera
 Tarjetas de crdito
 Tarjetas de dbito
 Cupones
 Membresas
 Soporta NFC

devmasters.com.mx

Cmara
 Lentes
 Aplicaciones que

proporcionan funcionalidad
nica para la cmara

 APIs avanzadas para

captura de fotos y
configuracin





Balance de blancos
ISO
Exposicin
Enfoque

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

Diplomado de Windows Phone 8

devmasters.com.mx

Bluetooth y NFC
 Construye aplicaciones que

puedan comunicarse con otras


usando Bluetooth
 Bluetooth
 Comunicacin App-App
 Comunicacin App-Dispositivo

 NFC
 Establece una conexin entre tu

app y otra instancia en otro


telfono

 Enva datos entre dispositivos


 Interacta con tarjetas NFC

devmasters.com.mx

Almacenamiento
 Soporte para tarjetas SD
 Microsoft.Phone.Storage

 Soporte para instalar


aplicaciones desde una
tarjeta SD

devmasters.com.mx

Lista de Contactos por Aplicacin


 Permite crear una
aplicacin que defina
una lista propietaria de
contactos
 API para CRUD de

contactos disponible

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

Diplomado de Windows Phone 8

devmasters.com.mx

Asociacin de archivos y protocolos


 Una aplicacin puede

registrar una asociacin de


archivos
 Ejecuta tu aplicacin cuando

se abra un archivo del tipo


registrado (email, navegador
o SharePoint)
 Una aplicacin puede
ejecutar otra envindole un
archivo del tipo registrado

 Una aplicacin puede


registrar un protocolo
 Permite que tu aplicacin

ejecute cuando otra


aplicacin abra un URI
especializado.


Ejemplo:
Miprotocolo:/ConsultaDatos?i
d=abc123

devmasters.com.mx

Compras Intra-Aplicacin
 Ofrece en tu aplicacin contenidos digitales
 Durables:
Durables Compra una sola vez para siempre. Ejemplo:

niveles, mapas o accesorios dentro de un juego


 Consumibles:
Consumibles Rentas de pelculas, acceso a revistas por

tiempo limitado, etc.

devmasters.com.mx

Cobertura: mercado de consumidores

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

10

Diplomado de Windows Phone 8

devmasters.com.mx

Cobertura: desarrolladores

devmasters.com.mx

Otros
 Compilacin en la nube


Incrementa el rendimiento de las aplicaciones WP7/WP8 en un telfono WP8

 Fast Application Resume




Reanuda una aplicacin suspendida desde su mosaico

 Media



Agrega y remueve archivos de msica


Miniaturas automticas para imgenes guardadas en el telfono

 VoIP y Video Chat





Se integra con las caractersticas nativas del telfono


Las aplicaciones VoIP siguen corriendo en segundo plano

 Windows.Networking


API altamente compatible con Windows 8

 Sockets de entrada


Tus aplicaciones pueden estar a la espera de conexiones de entrada

 Soporte para IPv6


 Soporte para Aplicaciones Empresariales

devmasters.com.mx

Herramientas

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

11

Diplomado de Windows Phone 8

devmasters.com.mx

SDK de Windows Phone 8

Requisitos
Hardware

Software

6.5 GB de espacio disponible en disco duro

Windows 8 de 64 bits o Windows 8 Pro de 64


bits

4 GB de RAM
CPU de 64 bits (x64)

http://tinyurl.com/descargawp8sdk
devmasters.com.mx

SDK de Windows Phone 8

Requisitos para el Emulador


Windows 8 Pro como mnimo (x64)
CPU que admita la traduccin de direcciones de segundo nivel
(SLAT)
Hyper-V habilitado

devmasters.com.mx

SDK de Windows Phone 8


 Descarga el SDK en formato .ISO

http://tinyurl.com/wp8sdkiso
devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

12

Diplomado de Windows Phone 8

devmasters.com.mx

Herramientas
 Herramientas necesarias
 SDK de Windows Phone 8

 Recomendadas
 Windows Phone Toolkit
 Multilingual Toolkit

devmasters.com.mx

Herramientas
 Plantillas incluidas
 Windows Phone App es
la plantilla ms utilizada
y recomendada para este
curso

devmasters.com.mx

Herramientas
 El SDK de Windows
Phone 8 soporta MultiTargeting

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

13

Diplomado de Windows Phone 8

devmasters.com.mx

Herramientas
 Editor en Visual Studio = Blend

devmasters.com.mx

Herramientas
 Emulador
 Mismo SO que el del

telfono
 Soporta
 Cambio de orientacin del
telfono
 Varios factores de zoom
 Interaccin tctil
 Input del micrfono
 Input del teclado virtual o
fsico

devmasters.com.mx

Herramientas
 Emulador - Herramientas
adicionales
 Acelermetro
 Permite manipular el telfono
de manera virtual para
cambiar la fuerza de
gravedad en X, Y y Z

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

14

Diplomado de Windows Phone 8

devmasters.com.mx

Herramientas
 Emulador - Herramientas
adicionales
 Ubicacin
 Permite cambiar virtualmente
la posicin geogrfica del
telfono
 Permite trazar una ruta de
ubicaciones y despus
reproducirla

devmasters.com.mx

Herramientas
 Emulador - Herramientas
adicionales
 Captura de pantalla
 Permite tomar una captura
de pantalla de tu aplicacin.
til para la publicacin en el
Windows Phone Store

devmasters.com.mx

Herramientas
 Emulador - Herramientas
adicionales
 Red
 Permite conocer las
caractersticas e informacin
del adaptador de red

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

15

Diplomado de Windows Phone 8

devmasters.com.mx

Herramientas
 Simulation Dashboard
 Permite simular diferentes

condiciones de ancho de
banda y seal
 Permite bloquear y
desbloquear la pantalla
del emulador

devmasters.com.mx

Herramientas
 Permite desbloquear un
telfono fsico para
despliegue y depuracin
de aplicacin
 Requiere una cuenta de
desarrollador para el
Windows Phone Store

devmasters.com.mx

Silverlight

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

16

Diplomado de Windows Phone 8

devmasters.com.mx

Qu es Silverlight?
 Plataforma de Desarrollo de

Aplicaciones de Negocio de
Escritorio o Web (RIA) para
Windows
 Plataforma de Desarrollo
para Windows Phone 7.x
Windows Phone 8
 Base de la Plataforma de
Desarrollo de Aplicaciones
Windows Store en Windows
8
 XAML + .NET
devmasters.com.mx

devmasters.com.mx

Arquitectura de Silverlight
Silverlight
UI

Input

DRM

XAML

Media
Cdecs

CoreCLR
BCL
GC

JIT

Modelo de
Seguridad

Manejo de
Excepciones

Loader y
Binder

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

17

Diplomado de Windows Phone 8

devmasters.com.mx

Demo
AppDomain

Anatoma de un proyecto


Flder Properties:

Flder Assets







Manifiesto de Silverlight: AppManifest.xml


Manifiesto de Windows Phone: WMAppManifest.xml
Mosaicos
Grid de alineacin
Icono para la aplicacin

Flder Resources

App.xaml

App.xaml.cs








Recursos para los idiomas


AppResources.resx: recursos para idioma neutral
Recursos globables
Instanciacin de los ApplicationLifeTimeObjects
Inicializacin del telfono
Eventos globales

LocalizedStrings.cs

MainPage.xaml

MainPage.xaml.cs





Clase utilitaria para leer el archivo de recursos


Pgina inicial
Archivo de Code-behind para la pgina inicial

devmasters.com.mx

Modelo de Compilacin

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

18

Diplomado de Windows Phone 8

devmasters.com.mx

Modelo de Compilacin
 El proyecto de Silverlight es de tipo Class Library
 Compila a .DLL

 Se empaqueta a un archivo .XAP


 Es simplemente un empaquetado ZIP
 Es el archivo que debes enviar al Windows Phone Store

devmasters.com.mx

Modelo de Compilacin
 El archivo XAP contiene:
 Todos los Ensamblados (depende de las Referencias que se

hayan agregado)
 El Manifiesto de la aplicacin Silverlight (AppManifest.xml)
 El Manifiesto de la aplicacin Windows Phone

(WMAppManifest.xml)
 Imgenes, Archivos de Configuracin, Iconos, etc.

devmasters.com.mx

Modelo de Compilacin
 El Manifiesto de la aplicacin Silverlight indica:
 La versin de Silverlight con la que fue compilada
 Punto de entrada para la aplicacin
 Los ensamblados requeridos para la aplicacin
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
EntryPointAssembly="Demo.Inicial" EntryPointType="Demo.Inicial.App"
RuntimeVersion="4.7.50308.0">
<Deployment.Parts>
<AssemblyPart x:Name="Demo.Inicial" Source="Demo.Inicial.dll" />
</Deployment.Parts>
</Deployment>
devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

19

Diplomado de Windows Phone 8

devmasters.com.mx

Modelo de Compilacin
 El Manifiesto de la aplicacin Windows Phone indica:
 Ttulo, descripcin, autor
 Detalles de la aplicacin para el Marketplace
 La lista de Capacidades de la aplicacin

devmasters.com.mx

Modelo de Compilacin
 Editor visual del
Manifiesto de la
aplicacin Windows
Phone
 Nuevo para WP8
 Evita editar cdigo XML

manualmente
 Permite editar las

Capacidades
devmasters.com.mx

Modelo de Compilacin
 Capacidades
 El principio de seguridad de Menor Privilegio se implementa

a travs de las Capacidades


 En Windows Phone 7.1 las Capacidades se detectaban y

actualizaban automticamente cuando se publicaban las


aplicaciones
 En Windows Phone 8 las Capacidades deben establecerse
explcitamente
devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

20

Diplomado de Windows Phone 8

devmasters.com.mx

Modelo de Compilacin
 Compilacin en la nube
 Permite que las aplicaciones corran dos veces ms rpido que

en Windows Phone 7.1


 Las aplicaciones construidas con cdigo manejado, son

compiladas a cdigo nativo en el Windows Phone Store, por


lo que ejecutan ms rpido



Cuando subes tu aplicacin, el CIL es convertido a MDIL (Machine


Dependent Intermediate Language)
Cuando un usuario descarga tu aplicacin, est pre-compilada en una
imagen nativa

devmasters.com.mx

Modelo de Compilacin
Windows Phone Store
Cdigo
fuente de C#

Compilador de
C#

Ensamblado
MSIL

Compilador de
MDIL

Ensamblado
MDIL

Windows Phone 8

Ejecuta

DLL Nativa

NGEN

Ensamblado
MDIL

devmasters.com.mx

Modelo de Aplicacin

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

21

Diplomado de Windows Phone 8

devmasters.com.mx

Modelo de Aplicacin
Inicio

Se crea el Servicio de
Extensin
PhoneApplicationService

Se crea el Frame

La aplicacin navega a la
pgina indicada en el
elemento <DefaultTask>

Se establece el Frame
como raz visual de la
aplicacin

Se espera que la aplicacin


est lista para renderizar

devmasters.com.mx

Clase Application
 System.Windows.Application
 Representa la Aplicacin
 Expone los eventos globales de la Aplicacin
 Registra los Servicios de Extensin
 Establece la propiedad RootVisual para la Aplicacin
private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e) {
if (RootVisual != RootFrame)
RootVisual = RootFrame;

}
devmasters.com.mx

Clase Application
 Eventos globales de Silverlight
 Startup
 Se dispara al inicio de la Aplicacin
 UnhandledException
 Se dispara cuando hay un objeto de tipo Exception que no ha sido
capturado
 Exit
 Se dispara al terminar la Aplicacin y no puede ser cancelado

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

22

Diplomado de Windows Phone 8

devmasters.com.mx

Clase Application
 Registra los Servicios de Extensin
<Application.ApplicationLifetimeObjects>
<!--Otros->
<shell:PhoneApplicationService
Launching="Application_Launching"
Closing="Application_Closing"
Activated="Application_Activated"
Deactivated="Application_Deactivated"/>
</Application.ApplicationLifetimeObjects>

devmasters.com.mx

Clase UIElement
 Clase base para todos los

elementos visuales en
Silverlight
 Define todos los eventos
de interaccin con el
usuario





Eventos del mouse


Eventos del teclado
Eventos de ink
Eventos tctiles












MouseLeftButtonDown
MouseLeftButtonUp
KeyUp
KeyDown
Tap
DoubleTap
ManipulationStarted
ManipulationCompleted
ManipulationDelta
Etc.

devmasters.com.mx

Clase UIElement
 Eventos Enrutados
 La mayora de los eventos son Enrutados
 Eventos que va escalando de lo ms profundo del rbol de XAML hacia
arriba (Bubbling)
 La propiedad Handled en los argumentos indica si sigue

escalando o no
 Podramos crear manejadores de eventos generales para

cualquier tipo de evento


devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

23

Diplomado de Windows Phone 8

devmasters.com.mx

Clase FrameworkElement
 Clase base para todos los objetos que participan en la

distribucin en pantalla (layout) y en Enlace de Datos

 Miembros









Name
DataContext
Width
Height
ArrangeOverride()
MeasureOverride()
FindName()
SetBinding()

devmasters.com.mx

Manejo de Eventos

Manejo de Eventos
 Podemos manejar eventos de tres maneras diferentes:
 Desde XAML
 A travs de cdigo usando la sintaxis estndar
 A travs de cdigo usando Expresiones Lambda

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

24

Diplomado de Windows Phone 8

devmasters.com.mx

Manejo de Eventos
 Desde XAML
 Visual Studio crea automticamente el cuerpo del manejador

<Button Click="Button_Click" />


private void Button_Click(object sender,
RoutedEventArgs e)
{
//Manejo del evento
}
devmasters.com.mx

Manejo de Eventos
 A travs de cdigo
 Usando la sintaxis tradicional del lenguaje

this.button1.Click += new
RoutedEventHandler(button1_Click);
private void button1_Click(object sender, RoutedEventArgs e)
{
//Manejo del evento
}

devmasters.com.mx

Manejo de Eventos
 A travs de cdigo
 Usando Expresiones Lambda
 Son un tipo especial de Mtodos Annimos
 El compilador infiere los tipos de los argumentos

//s es object y a es RoutedEventArgs


this.button1.Click += (s, a) =>
{
//Manejo del evento
};
devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

25

Diplomado de Windows Phone 8

devmasters.com.mx

Manejo de Eventos
 A travs de cdigo
 Usando Expresiones Lambda asncronas
this.button1.Click +=
async (s, a) =>
await new MessageDialog("Mensaje").ShowAsync();

devmasters.com.mx

Navegacin

Navegacin
12:38

 PhoneApplicationFrame
 Control de navegacin principal

 PhoneApplicationPage
 Una o varias pginas de contenido
PhoneApplicationFrame
PhoneApplicationPage

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

26

Diplomado de Windows Phone 8

devmasters.com.mx

Navegacin
 Permite a los usuarios desplazarse por las diferentes
pginas de contenido
 Similar a la experiencia de navegacin en Silverlight
 El RootVisual de toda aplicacin de Windows Phone
generalmente es PhoneApplicationFrame

devmasters.com.mx

Navegacin
 Clase NavigationService
 Provee mtodos, propiedades y eventos para soportar la

navegacin dentro de una aplicacin de Silverlight


 Expuesta como la propiedad NavigationSource en la clase

PhoneApplicationPage

devmasters.com.mx

Navegacin
 NavigationService.Navigate()
 Recibe un Uri que identifique la pgina a la que quieres

navegar

NavigationService.Navigate(new
Uri("/Pagina2.xaml",
UriKind.Relative));
devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

27

Diplomado de Windows Phone 8

devmasters.com.mx

Navegacin
 Puedes pasar datos de una pgina a otra a travs del
QueryString

NavigationService.Navigate(new
Uri("/Pagina2.xaml?parametro1=
valor&parametro2=otrovalor",
UriKind.Relative));
devmasters.com.mx

Navegacin
 Recibe los datos en el mtodo OnNavigatedTo
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
string parametro1 = string.Empty;
string parametro2 = string.Empty;
if (NavigationContext.QueryString.ContainsKey("parametro1"))
{
parametro1 = NavigationContext.QueryString["parametro1"];
}
if (NavigationContext.QueryString.ContainsKey("parametro2"))
{
parametro2 = NavigationContext.QueryString["parametro2"];
}
}
devmasters.com.mx

Navegacin
 Otros miembros
 GoBack()
 GoForward()
 CanGoBack
 CanGoForward
 Source

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

28

Diplomado de Windows Phone 8

devmasters.com.mx

Botn Atrs
 Todos los telfonos Windows Phone cuentan con un
botn Atrs
 La clase PhoneApplicationPage incluye el evento
BackKeyPress
 Puede ser cancelado
 Solo se recomienda para complementar una buena UX
this.BackKeyPress += (s, a) =>
{
a.Cancel = true;
};
devmasters.com.mx

Orientaciones

Orientaciones
 Windows Phone soporta

orientacin horizontal y vertical


para las pantallas
 Se establece por medio de la
propiedad Orientation
 La propiedad
SupportedOrientations indica
cules son las orientaciones
soportadas en la pgina en
cuestin
 Puedes probar el cambio de
orientacin en el Emulador

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

29

Diplomado de Windows Phone 8

devmasters.com.mx

Orientaciones
<phone:PhoneApplicationPage
SupportedOrientations="PortraitOrLandscape" />

devmasters.com.mx

Orientaciones
 Evento OrientationChanged
 Se dispara cuando la orientacin ha cambiado
 El objeto de argumentos incluye la propiedad Orientation

que indica la orientacin actual


InitializeComponent();
this.OrientationChanged += (s, a) => {
textBlock1.Text = a.Orientation.ToString();
};

devmasters.com.mx

Barra de Aplicacin

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

30

Diplomado de Windows Phone 8

devmasters.com.mx

Barra de Aplicacin
 La Barra de Aplicacin es
un conjunto de uno a
cuatro botones
 Puede incluir elementos
de men
 Lugar sugerido para
implementar opciones
de interaccin tctil

devmasters.com.mx

Barra de Aplicacin
 Se establece a travs de la propiedad ApplicationBar
de PhoneApplicationPage
 A travs de XAML:
<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
<shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/>
<shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/>
<shell:ApplicationBar.MenuItems>
<shell:ApplicationBarMenuItem Text="MenuItem 1"/>
<shell:ApplicationBarMenuItem Text="MenuItem 2"/>
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>

devmasters.com.mx

Barra de Aplicacin
 Tambin se puede crear programticamente
Microsoft.Phone.Shell.ApplicationBar appBar = new
Microsoft.Phone.Shell.ApplicationBar();
var button1 = new
Microsoft.Phone.Shell.ApplicationBarIconButton();
button1.IconUri = new Uri("/Images/appbar.folder.rest.png",
UriKind.RelativeOrAbsolute);
button1.Text = "opcin 1";
appBar.Buttons.Add(button1);
this.ApplicationBar = appBar;
devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

31

Diplomado de Windows Phone 8

devmasters.com.mx

SIP (Soft Input Panel)

SIP
 Teclado virtual para
telfonos sin teclado
fsico
 Se activa pulsando en
una caja de texto
 Se desactiva pulsando en
el botn Atrs

devmasters.com.mx

SIP
 mbitos de Entrada
 Permite establecer la distribucin del teclado segn el

contexto








Default
Text
Chat
URL
TelephoneNumber
EmailSmtpAddress
Etc.

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

32

Diplomado de Windows Phone 8

devmasters.com.mx

SIP
 mbitos de Entrada
 Se establecen por medio de la propiedad InputScope

<TextBox Text="HelloWorld">
<TextBox.InputScope>
<InputScope>
<InputScopeName NameValue="Chat" />
</InputScope>
</TextBox.InputScope>
</TextBox>
devmasters.com.mx

Ciclo de Vida de las Aplicaciones

Ciclo de Vida de las Aplicaciones


 El Sistema Operativo

proporciona cuatro
eventos que indican el
ciclo de vida de tu
aplicacin
 Launching
 Closing
 Deactivated
 Activated

devmasters.com.mx

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

33

Diplomado de Windows Phone 8

devmasters.com.mx

Ciclo de Vida de las Aplicaciones


 Launching
 Cada vez que se inicia la aplicacin

 Closing
 Cuando en la primera pgina, el usuario presiona el botn Atrs

 Deactivated
 Resultado de que otra aplicacin tome el control del frente del telfono, como

por ejemplo una llamada telefnica entrante, o como resultado de que el


usuario pulse el botn Inicio

 Activated
 Despus de que una aplicacin ha sido desactivada y tombstoned, el usuario

puede volver a la aplicacin presionando el botn Atrs hasta que la


aplicacin sea alcanzada

devmasters.com.mx

Resumen

Preguntas?

Este documento se distribuye con una licencia de tipo Atribucin-CompartirIgual 3.0 Unported. Para ms informacin consulta http://creativecommons.org/licenses/by-sa/3.0/deed.es
Microsoft, el logo .NET, Silverlight, Visual Studio, Expression Blend, Expression Studio, ASP.NET, SharePoint y Windows Phone son marcas registradas del grupo de compaas Microsoft.

34

También podría gustarte