You are on page 1of 39

Windows Phone 7.

5
Desarrollo de aplicaciones en
Silverlight.
Jous Yeray Julin
Ibon Landa

WINDOWS PHONE 7.5


DESARROLLO DE APLICACIONES EN SILVERLIGHT.
No est permitida la reproduccin total o parcial de este libro, ni su tratamiento informtico, ni la
transmisin de ninguna forma o por cualquier medio, ya sea electrnico, mecnico, por fotocopia,
por registro u otros mtodos, sin el permiso previo y por escrito de los titulares del Copyright.
Dirjase a CEDRO (Centro Espaol de Derechos Reprogrficos, www.cedro.org) si necesita
fotocopiar o escanear algn fragmento de esta obra.

DERECHOS RESERVADOS 2011, respecto a la primera edicin en espaol, por


Krasis Consulting, S. L.
www.Krasis.com
ISBN: 978-84-939036-6-4
Depsito Legal: XXXX
Impreso en Espaa-Printed in Spain

Agradecimientos
Escribir un libro consume una cantidad ingente de tiempo, normalmente del tiempo
que debera estar dedicado a tu familia, por lo que tengo que agradecer a mi mujer
Hilda y a mis hijos, Roberto, Laura y Sofia la eterna paciencia que han demostrado
tener conmigo, con mis fines de semana delante del ordenador escribiendo y
desarrollando.
Siempre he pensado que una de las razones por las que hoy estoy escribiendo un
libro, un blog e intentando aprender cada da algo ms, es el espritu de superacin y
trabajo que me inculcaron desde muy pequeo quienes me rodeaban, por todo ello
gracias pap y mam. No estara aqu sin vosotros.
Tambin tengo que agradecer a todos mis compaeros de Plain Concepts, sobre
todo a los de Bilbao, que aguantan incansablemente mis chapas sobre Windows Phone
y Silverlight. Gracias chicos, es un placer trabajar con vosotros cada da!.
Para terminar, gracias a mi abuela, Josefa, siempre ests en mi corazn.
Josu Yeray Julin

A mi hija Laia, que sin lugar a dudas es lo mejor que me ha pasado.


Ibon Landa

Contenido
AGRADECIMIENTOS ............................................................................................ iii
CONTENIDO.......................................................................................................... iv
PRLOGO .............................................................................................................. xi
1.- CONOCIENDO WINDOWS PHONE ........................................................... 15
1.- Introduccin................................................................................................................................ 15
2.- Arquitectura de Windows Phone ......................................................................................... 16
2.1.- Modelo de hardware .................................................................................................... 16
2.2.- Modelo de software ...................................................................................................... 18
2.2.1.- Modelo de aplicacin ............................................................................................ 19
2.2.2.- Modelo de UI .......................................................................................................... 19
2.2.3.- Integracin con la nube ........................................................................................ 19
2.2.4.- Runtime de aplicaciones ....................................................................................... 19
3.- Preparando nuestro entorno ................................................................................................. 21
3.1.- Descargando el SDK ..................................................................................................... 21
3.2.- Microsoft Visual Studio 2010 para Windows Phone ............................................ 22
3.2.1.- Windows Phone Application .............................................................................. 24
3.2.2.- Windows Phone Databound Application ........................................................ 24
3.2.3.- Windows Phone Class Library ........................................................................... 25
3.2.4.- Windows Phone Panorama Application .......................................................... 25
3.2.5.- Windows Phone Pivot Application ................................................................... 26
3.2.6.- Windows Phone 3D Graphics Application ..................................................... 26
3.2.7.- Windows Phone Audio Playback Agent .......................................................... 26
3.2.8.- Windows Phone Audio Streaming Agent ........................................................ 27
3.2.9.- Windows Phone Task Scheduler Agent .......................................................... 27
3.3.- Microsoft Expression Blend 4 para Windows Phone ........................................... 27
3.4.- Emulador de Windows Phone ................................................................................... 29
3.5.- Application Deployment Tool .................................................................................... 32
3.6.- Developer Registration Tool ...................................................................................... 33
3.7.- Marketplace Test Tool ................................................................................................. 34
4.- Silverlight para Windows Phone............................................................................................ 35
5.- Conclusin .................................................................................................................................. 36
2.- INTRODUCCIN A SILVERLIGHT PARA WINDOWS PHONE .............. 37
1.- Introduccin................................................................................................................................ 37
2.- Todo es XAML .......................................................................................................................... 38
3.- Marcos, pginas y elementos. ................................................................................................. 39
3.1.- Marcos .............................................................................................................................. 39
iv

Contenido v

3.2.- Pginas............................................................................................................................... 40
3.3.- Elementos ........................................................................................................................ 41
3.3.1.- UIElement ................................................................................................................ 42
3.3.2.- FrameworkElement ............................................................................................... 42
3.3.3.- Control ..................................................................................................................... 42
4.- Poniendo orden en nuestra pantalla ..................................................................................... 42
4.1.- Propiedades adjuntas .................................................................................................... 43
4.2.- Canvas ............................................................................................................................... 43
4.3.- StackPanel ........................................................................................................................ 45
4.4.- Grid ................................................................................................................................... 47
4.4.1.- Tamao de columnas y filas ................................................................................. 53
5.- Recursos, estilos y plantillas .................................................................................................... 57
5.1.- Recursos ........................................................................................................................... 57
5.2.- Estilos ................................................................................................................................ 61
5.2.1.- Estilos en Expression Blend ................................................................................. 64
5.3.- Plantillas ............................................................................................................................ 67
5.3.1.- Estados visuales ...................................................................................................... 71
5.3.2.- Plantillas en Expression Blend ............................................................................. 73
5.4.- Jerarqua de cercana en estilos y plantillas. ............................................................ 79
6.- Conclusin ................................................................................................................................... 80
3.- SILVERLIGHT PARA WINDOWS PHONE A FONDO ............................... 81
1.- Introduccin ................................................................................................................................ 81
2.- Bosques y rboles ...................................................................................................................... 81
2.1.- VisualTreeHelper ........................................................................................................... 84
3.- Sistema de propiedades de Silverlight .................................................................................. 89
3.1.- DependencyObject........................................................................................................ 89
3.2.- DependencyProperty .................................................................................................... 89
3.3.- AttachedProperty .......................................................................................................... 93
4.- Sistema de enlace a datos de Silverlight ............................................................................... 95
4.1.- Definiendo Datos ....................................................................................................... 95
4.2.- Expresiones de enlace a datos .................................................................................... 97
4.3.- Contexto de datos ........................................................................................................ 99
4.4.- Comportamiento de enlace a datos ....................................................................... 100
4.4.1.- Mode ....................................................................................................................... 100
4.4.2.- UpdateSourceTrigger .......................................................................................... 103
4.4.3.- Converters ............................................................................................................ 105
4.5.- Enlazando Listas............................................................................................................ 109
4.5.1.- Plantillas de datos ................................................................................................. 111
5.- MVVM ......................................................................................................................................... 118
5.1.- Qu es MVVM? ........................................................................................................... 118
5.2.- MVVM en Windows Phone ....................................................................................... 120
5.3.- Comandos ...................................................................................................................... 121
5.3.1.- Implementando comandos................................................................................. 121
5.3.2.- DelegateCommand .............................................................................................. 124
6.- Conclusin ................................................................................................................................. 126

vi Windows Phone 7.5 - Desarrollo de aplicaciones en Silverlight

4.- WINDOWS PHONE A FONDO .................................................................. 127


1.- Introduccin.............................................................................................................................. 127
2.- Servicio de navegacin ........................................................................................................... 127
2.1.- Navegando entre pginas ........................................................................................... 128
2.2.- Utilizando el botn por hardware........................................................................... 129
2.3.- Eventos de navegacin ............................................................................................... 132
2.4.- Paso de parmetros en la navegacin..................................................................... 135
2.4.1.- Parmetros simples ............................................................................................. 135
2.4.2.- Parmetros complejos ........................................................................................ 137
2.5.- Navegacin en MVVM ................................................................................................ 141
3.- Almacenamiento local ............................................................................................................ 144
3.1.- Isolated Storage ............................................................................................................ 144
3.2.- SQL Server CE ............................................................................................................. 151
3.2.1.- Optimizaciones: Columna IsVersion ............................................................... 155
3.2.2.- Optimizaciones: INotifyPropertyChanging .................................................... 156
3.2.3.- Optimizaciones: Consultas compiladas .......................................................... 159
4.- Ciclo de vida de una aplicacin ............................................................................................ 159
4.1.- Tombstoning ................................................................................................................. 161
4.1.1.- Tombstoning en pginas ..................................................................................... 161
4.1.2.- Tombstoning en aplicacin ................................................................................ 166
4.1.3.- Idle Detection ....................................................................................................... 170
5.- Lanzadores y Selectores ........................................................................................................ 170
5.1.- Lanzadores..................................................................................................................... 170
5.1.1.- BingMapsDirectionsTask .................................................................................... 171
5.1.2.- BingMapsTask ....................................................................................................... 172
5.1.3.- EmailComposeTask ............................................................................................. 174
5.1.4.- MarketplaceDetailTask ....................................................................................... 174
5.1.5.- MarketplaceHubTask .......................................................................................... 174
5.1.6.- MarketplaceReviewTask..................................................................................... 175
5.1.7.- MarketplaceSearchTask ...................................................................................... 175
5.1.8.- MediaPlayerLauncher .......................................................................................... 176
5.1.9.- PhoneCallTask ...................................................................................................... 176
5.1.10.- SearchTask....................................................................................................... 177
5.1.11.- ShareLinkTask ................................................................................................. 177
5.1.12.- ShareStatusTask ............................................................................................. 178
5.1.13.- SmsComposeTask ......................................................................................... 178
5.1.14.- WebBrowserTask.......................................................................................... 178
5.2.- Selectores ...................................................................................................................... 179
5.2.1.- AddressChooserTask ......................................................................................... 179
5.2.2.- CameraCaptureTask ........................................................................................... 180
5.2.3.- EmailAddressChooserTask ............................................................................... 182
5.2.4.- PhoneNumberChooserTask ............................................................................. 182
5.2.5.- PhotoChooserTask ............................................................................................. 183
5.2.6.- SaveContactTask.................................................................................................. 185
5.2.7.- SaveEmailAddressTask ....................................................................................... 187
5.2.8.- SavePhoneNumberTask ..................................................................................... 187

Contenido vii

5.2.9.- SaveRingtoneTask ................................................................................................ 187


6.- Contactos y calendarios ......................................................................................................... 189
6.1.- Agregados de datos ..................................................................................................... 189
6.2.- Acceder a los datos de contactos ........................................................................... 190
6.3.- Acceder a los datos de calendarios ......................................................................... 192
7.- Conclusin ................................................................................................................................. 194
5.- WINDOWS PHONE A FONDO II ............................................................... 195
1.- Introduccin .............................................................................................................................. 195
2.- Sensores ..................................................................................................................................... 195
2.1.- Acelermetro ............................................................................................................... 195
2.2.- Brjula ............................................................................................................................. 201
2.3.- Giroscopio ..................................................................................................................... 205
2.4.- Movimiento combinado .............................................................................................. 207
3.- Hardware ................................................................................................................................... 212
3.1.- Cmara ........................................................................................................................... 212
3.1.1.- Windows Phone Camera API ........................................................................... 213
3.1.2.- Silverlight 4 Webcam API .................................................................................. 219
3.2.- Micrfono ...................................................................................................................... 222
3.3.- Sintonizador de radio.................................................................................................. 227
3.4.- Informacin del dispositivo ....................................................................................... 228
4.- Geo localizacin ....................................................................................................................... 229
4.1.- Buenas prcticas ........................................................................................................... 230
4.2.- Geo localizando nuestra aplicacin ......................................................................... 231
5.- Acciones programadas ........................................................................................................... 234
5.1.- Notificaciones programadas ...................................................................................... 235
5.1.1.- Alarma ..................................................................................................................... 235
5.1.2.- Recordatorio ......................................................................................................... 237
5.2.- Tareas programadas .................................................................................................... 238
5.2.1.- Tipos de tareas ..................................................................................................... 238
5.2.2.- Usando tareas ....................................................................................................... 240
6.- Agente de Audio ...................................................................................................................... 243
7.- Conclusin ................................................................................................................................. 249
6.- INTERACCIN CON EL USUARIO ............................................................ 251
1.- Introduccin .............................................................................................................................. 251
2.- Elementos .................................................................................................................................. 252
2.1.- ApplicationBar .............................................................................................................. 252
2.1.1.- Recomendaciones de uso .................................................................................. 253
2.1.2.- Usando ApplicationBar ....................................................................................... 254
2.2.- Panorama ....................................................................................................................... 258
2.2.1.- Arquitectura del Panorama ............................................................................... 261
2.2.2.- Recomendaciones de uso .................................................................................. 262
2.2.3.- Usando Panorama ................................................................................................ 263
2.3.- Pivot ................................................................................................................................ 266
2.3.1.- Arquitectura del Pivot ........................................................................................ 266

viii Windows Phone 7.5 - Desarrollo de aplicaciones en Silverlight

2.3.2.- Recomendaciones de uso .................................................................................. 268


2.3.3.- Usando Pivot ......................................................................................................... 268
2.4.- Bing Maps ....................................................................................................................... 273
2.4.1.- Obteniendo una clave de uso ........................................................................... 273
2.4.2.- Usando Bing Maps ............................................................................................... 275
2.5.- WebBrowser ................................................................................................................ 281
2.5.1.- Recomendaciones de uso .................................................................................. 281
2.5.2.- Usando WebBrowser ......................................................................................... 282
2.6.- RichTextBox ................................................................................................................. 287
2.6.1.- Elementos del RichTextBox .............................................................................. 287
2.6.2.- Usando RichTextBox .......................................................................................... 288
2.7.- Windows Phone Silverlight Toolkit ........................................................................ 290
2.7.1.- Instalacin .............................................................................................................. 291
2.7.2.- Usando el Toolkit ................................................................................................ 295
3.- Tiles ............................................................................................................................................. 297
3.1.- Propiedades de los tiles ............................................................................................. 297
3.2.- Trabajando con Tiles .................................................................................................. 299
3.3.- Scheduled tiles .............................................................................................................. 305
4.- Conclusin ................................................................................................................................ 307
7.- INTEGRNDONOS CON NUESTRO ENTORNO .................................... 309
1.- Introduccin.............................................................................................................................. 309
2.- Servicios ..................................................................................................................................... 309
2.1.- WCF ............................................................................................................................... 310
2.1.1.- EndPoints ............................................................................................................... 310
2.1.2.- Trabajando con WCF ......................................................................................... 311
2.2.- OData ............................................................................................................................. 321
2.2.1.- Consumiendo OData.......................................................................................... 321
2.2.2.- Preservando informacin OData ..................................................................... 326
2.3.- XML................................................................................................................................. 328
2.3.1.- WebClient y HttpWebRequest ....................................................................... 328
2.3.2.- LINQ to XML ....................................................................................................... 329
2.3.3.- Consumiendo RSS ............................................................................................... 329
3.- Notificaciones ........................................................................................................................... 333
3.1.- Cmo funcionan? ....................................................................................................... 333
3.2.- Notificaciones Toast ................................................................................................... 335
3.3.- Notificaciones Tile ....................................................................................................... 344
3.4.- Notificaciones Raw...................................................................................................... 352
4.- Sockets ....................................................................................................................................... 356
4.1.- Usando Sockets ............................................................................................................ 356
5.- Transferencia de archivos ..................................................................................................... 362
5.1.- Polticas de uso ............................................................................................................. 362
5.2.- Requerimientos de certificacin .............................................................................. 363
5.3.- Usando BackgroundTransfer .................................................................................... 364
6.- Conclusin ................................................................................................................................ 367

Contenido ix

8.- WINDOWS AZURE ...................................................................................... 369


1.- Cloud Computing .................................................................................................................... 370
2.- Windows Azure ....................................................................................................................... 373
2.1.- Beneficios de Windows Azure ................................................................................. 373
2.2.- Mi primera aplicacin Windows Azure .................................................................. 374
2.3.- La configuracin ........................................................................................................... 377
2.4.- Entorno de simulacin ................................................................................................ 380
2.5.- Cuentas de Windows Azure..................................................................................... 382
2.6.- Desplegar una aplicacin en Windows Azure ...................................................... 383
3.- Windows Azure Storage ....................................................................................................... 388
3.1.- Windows Azure Table................................................................................................ 389
3.2.- Windows Azure Blobs................................................................................................ 389
3.3.- Windows Azure Queues ........................................................................................... 389
3.4.- Windows Azure Drive ............................................................................................... 390
3.5.- Crear un servicio de almacenamiento .................................................................... 390
4.- SQL Azure ................................................................................................................................. 391
4.1.- Aprovisionamiento ...................................................................................................... 392
4.2.- Mi primera base de datos SQL Azure .................................................................... 392
5.- AppFabric Access control ..................................................................................................... 397
5.1.- Mi primera aplicacin con Access Control ........................................................... 399
6.- Windows Azure Toolkit para windows phone 7 ............................................................ 406
7.- Conclusin ................................................................................................................................. 409
APNDICE A.- PUBLICAR EN EL MARKETPLACE ....................................... 412
1.- Introduccin .............................................................................................................................. 412
2.- Crear una cuenta de Marketplace ....................................................................................... 412
2.1.- Tipo de cuenta .............................................................................................................. 414
2.2.- Detalles de cuenta ....................................................................................................... 414
2.3.- Perfil ................................................................................................................................ 414
2.4.- Pago ................................................................................................................................. 415
2.5.- Confirmacin ................................................................................................................ 416
2.6.- GeoTrust........................................................................................................................ 416
3.- Probando tu aplicacin ........................................................................................................... 416
3.1.- Detalles de aplicacin ................................................................................................. 417
3.2.- Pruebas automatizadas ............................................................................................... 418
3.3.- Pruebas monitorizadas ............................................................................................... 419
3.4.- Pruebas manuales ......................................................................................................... 420
4.- Publicando tu aplicacin ......................................................................................................... 420
4.1.- Subir tu aplicacin ........................................................................................................ 422
4.2.- Descripcin ................................................................................................................... 422
4.3.- Precio .............................................................................................................................. 423
4.4.- Pruebas ........................................................................................................................... 423
NDICE ANALTICO .......................................................................................... 425

x Windows Phone 7.5 - Desarrollo de aplicaciones en Silverlight

Prlogo
Antes de presentarle el libro que tiene entre manos, permtame estimado lector darle a
conocer quin es su autor. As, seguramente entender por qu esta obra es
indispensable si piensa aprender a desarrollar en la plataforma Windows Phone. Por
suerte, a lo largo de mi vida he conocido a muchos profesionales del desarrollo, bien
por cuestiones laborales o bien en los distintos eventos en los que he tenido el placer de
participar. Para serle sinceros, uno empieza a conocer muy bien cuales de estos son los
que entienden la tecnologa como un arte y cules son los que entienden el mundo del
desarrollo de software como un trabajo ms en el que ganarse la vida. Josu Yeray ve y
fomenta el arte en su trabajo, es de esas personas que uno quiere tener siempre a su
lado, con una gran pasin por el mundo del desarrollo y, sobre todo, con unas
incansables ganas de trabajar y ayudar a la comunidad. Desde que he tenido el placer
de trabajar con l no ha dejado de sorprenderme gratamente por sus increbles
capacidades tcnicas, resaltadas an ms por ese sobresfuerzo que muchos hacemos
robndole tiempo a nuestras familias. Adems de ser una de las personas ms activas y
destacadas en los foros de soporte de Microsoft tambin mantiene un excelente blog
sobre Windows Phone. Ahora, adems, suma a todas sus aportaciones al mundo
tecnolgico este gran compendio de saber hacer sobre la plataforma Windows Phone.
Querido amigo, si usted desea adentrarse en el mundo del desarrollo en la ltima
versin de la plataforma mvil de Microsoft, le recomiendo encarecidamente que lea y
disfrute de este libro. Seguro que ser muy provechoso para su vida profesional. Por el
contrario, si usted ya conoce la plataforma pero desea ver resueltas todas esas
preguntas que siempre se ha hecho y no ha tenido tiempo a investigar, este tambin es
su libro, puesto que, Josu se ha metido hasta el ltimo de los recovecos de los que
extraer informacin til a los desarrolladores.
Escribir un libro es una tarea ardua, el primero como en este caso, si cabe an ms
compleja todava. Pero Josu, sin duda, ha conseguido superar todos los problemas con
sobresalientes resultado. Gracias Josu por tenerte como compaero profesional y
gracias Josu por esta gran obra que ha visto la luz.

Unai Zorrilla Castro, Microsoft MVP

xiii

CAPTULO

Conociendo Windows
Phone

1.- INTRODUCCIN
El 15 de Febrero de 2010, durante el Mobile World Congress celebrado en
Barcelona, Microsoft present al mundo su nuevo sistema operativo para smartphones:
Windows Phone 7.
Su desarrollo comenz en 2008 tras la reorganizacin del equipo de Windows
Mobile y la cancelacin del proyecto Photon, la versin del sistema en la que
Microsoft trabajaba desde 2004 con pocos resultados. Originalmente se plante su
salida al mercado en 2009, pero una serie de retrasos obligaron a preparar una versin
de transicin de Windows Mobile (WM 6.5) y retrasar el lanzamiento de Windows
Phone 7 hasta Octubre de 2010 en Europa, Noviembre de 2010 en USA y 2011 para
Asia.
Una de sus ms aclamadas novedades es la interface de usuario, denominada
Metro, basada en unos simples pero efectivos mosaicos dinmicos que muestran
informacin til al usuario. Tambin se estrena un nuevo concepto llamado HUB, un
lugar donde centralizar acciones y agrupar aplicaciones por la actividad a la que se
destinan As, podemos encontrar el HUB de Imgenes, Zune, Office o Xbox Live, cada
uno de los cuales nos dar acceso a tareas especficas como msica, documentos o
juegos.
Un ao despus de su presentacin, de nuevo en el marco del Mobile World
Congress, Windows Phone 7, con apenas unos meses de vida, presenta importantes
novedades. A su primera actualizacin en Marzo de 2011, que incluye mejoras en el
rendimiento general as como la inclusin de copiar y pegar, se une una nueva
actualizacin, llamada Mango que incluye el motor de Internet Explorer 9, con su
soporte para HTML5, Multitarea en aplicaciones de terceros e integracin con Xbox
360 y Kinect. En Mayo de 2011 Microsoft puso a disposicin de los desarrolladores la
15

16 Windows Phone 7.5 - Desarrollo de aplicaciones en Silverlight

primera versin beta de las nuevas herramientas de desarrollo de la versin Mango


de Windows Phone.

2.- ARQUITECTURA DE WINDOWS PHONE


Uno de los grandes problemas a los que Microsoft debi hacer frente en la poca de
Windows Mobile fue la fragmentacin de hardware y software existente en el
ecosistema, aprendiendo de sus errores, en Windows Phone nos encontraremos un
modelo de hardware y software claro y conciso que ayudar a evitar la repeticin de
esta situacin.

2.1.- Modelo de hardware


Hasta la llegada de Windows Phone al mercado podamos encontrar 2 modelos, o
planteamientos, distintos a nivel de hardware en los principales competidores del
segmento de los smartphones:

Modelo iPhone: Frreo control sobre el hardware, siendo Apple la


encargada de disear tanto el sistema iOS como el dispositivo donde se
ejecuta. Como principal ventaja de este modelo encontramos la adaptacin
total del sistema operativo al dispositivo, puesto que ambos han sido
concebidos como partes de un todo y podemos estar seguros de ofrecer la
misma experiencia de uso para todos los consumidores. Como principales
desventajas tenemos el coste de adquisicin, debido normalmente a que
adquirimos un dispositivo de gama alta, que no todo el mundo puede o
quiere permitirse, y la nula variedad de dispositivos en el mercado, solo
existe uno y no tenemos opciones de eleccin.

Modelo Windows Mobile / Android: Como fabricantes de software,


primero Microsoft con Windows Mobile y ahora Google con Android,
desarrollan el sistema operativo que cualquier fabricante puede licenciar e
incluir en su dispositivo, sin unos requerimientos mnimos de hardware ni
lmites en la personalizacin de la interface de usuario. Su principal ventaja
es la cantidad, gracias a este modelo el mercado puede ser inundado con
cientos de modelos distintos y el usuario tiene libertad para elegir entre
terminales de gama baja, media o alta. Sin embargo este modelo sufre de
dos grandes problemas, ms que desventajas. El primero es la abismal
diferencia de hardware entre un terminal de gama baja y uno de gama alta,
lo que incide directamente en la experiencia de usuario, siendo algunos
terminales imposibles de usar o no pudiendo actualizarlos ms all de una
cierta versin del sistema. El segundo gran problema es que, como
desarrolladores no podemos asegurar la compatibilidad de nuestra
aplicacin con todos los modelos existentes y en algunos casos, debemos
crear distintas versiones para varios terminales para poder asegurarnos una

Conociendo Windows Phone 17

base de usuarios grande, lo que redunda directamente en los costes de


desarrollo y actualizacin de los productos que realizamos.
Qu modelo sigue Windows Phone? Ninguno de los dos, o ms bien podramos
decir que los dos. En Microsoft ya tenan la experiencia de Windows Mobile y la
fragmentacin e inconsistencia del sistema a travs de distintos dispositivos, pero no
queran atarse a un solo dispositivo, as encontraron el camino intermedio:

Modelo Windows Phone: Como fabricante del sistema, Microsoft requiere


que todo telfono que desee ejecutar Windows Phone disponga de unas
caractersticas mnimas, para asegurar la consistencia de todos los usuarios
del sistema. A partir de estas caractersticas los fabricantes de software son
libres de ampliarlas en algunos casos y estn obligados a cumplirlas con
exactitud en otros. En este modelo conseguimos aunar las ventajas del
modelo iPhone -todos los usuarios obtienen la misma experiencia de uso y
los desarrolladores sabemos que nuestra aplicacin funcionar de forma
idntica en todos los dispositivos Windows Phone 7.5- y las del modelo
Windows Mobile / Android -no estamos encerrados en un solo hardware,
existen distintos dispositivos de varios fabricantes, todos con unas
caractersticas mnimas comunes pero con suficientes diferencias como
para sentir que podemos escoger el terminal que ms se ajuste a nosotros.

Con este modelo en mente, Microsoft creo unas especificaciones mnimas iniciales,
llamadas Chassis 1, por las que todo fabricante que desease crear terminales para el
nuevo sistema debe guiarse (Figura 1.1).

Figura 1.1.- Especificaciones Chassis 1

18 Windows Phone 7.5 - Desarrollo de aplicaciones en Silverlight

Ya se ha anunciado que en el futuro aparecern las especificaciones Chassis 2 y


Chassis 3, que soportarn otros tipos de telfonos y mantendrn una relacin de unidad
con el Chassis 1, compartiendo un mnimo denominador comn que permita obtener la
misma experiencia de usuario independientemente del dispositivo hardware que
utilicemos.

2.2.- Modelo de software


Windows Phone est basado en Windows CE 6.0 R3, un sistema mucho ms
moderno y avanzado que el utilizado en los Windows Mobile 6.X (Windows CE 5.2).
Windows CE 6.0 supuso un rediseo total del sistema con respecto a su anterior
versin. Por ilustrarlo de una forma simple: Windows CE 5.2 soportaba 32 procesos en
su Kernel, mientras que Windows CE 6.0 soporta 32.768.
Ahora, la Shell y la plataforma de aplicaciones residen en memoria de usuario
mientras que el Kernel, los drivers, el sistema de archivos, networking, el sistema de
rendering y grficos y el sistema de actualizaciones residen en el espacio de Kernel.
Estamos hablando de un sistema de 32 bits, con lo que solo puede manejar 4Gb de
memoria: 2Gb para procesos y 2Gb para el kernel.
En la versin R3 de Windows CE 6.0 se aadi soporte para Silverlight Mobile,
Internet Explorer Embedded y otras tecnologas. Resulta interesante resaltar que esta
versin soporta Flash Lite de forma nativa en el sistema, aunque esta tecnologa no se
encuentre disponible en Windows Phone 7.5.
Sobre toda la infraestructura provista por Windows CE 6.0 R3 se levanta el modelo
de software de Windows Phone 7.5 (Figura 1.2), al igual que con el hardware,
Microsoft ha creado un modelo conciso, pensado para facilitar el uso del dispositivo y
aportar cohesin a la interface de usuario.

Figura 1.2.- Modelo de software en Windows Phone

Conociendo Windows Phone 19

2.2.1.- Modelo de aplicacin


En Windows Phone las aplicaciones se despliegan en forma de paquete XAP.
Bsicamente se trata de un archivo comprimido dentro del cual podemos encontrar los
ensamblados y recursos originales de nuestra aplicacin. La nica forma de instalar una
aplicacin en Windows Phone es mediante la tienda oficial de Microsoft, el
Marketplace, en la cual debemos registrarnos como desarrolladores para poder vender
nuestras aplicaciones.
Para garantizar la seguridad del sistema y evitar la piratera, el malware o virus, a
cada aplicacin se le asigna un ID nico y un certificado de seguridad emitido cuando
nuestra aplicacin es aprobada en el Marketplace de Windows Phone. Este certificado
puede instalarse en modo demo, por lo que solo con comprobar el modo de este
certificado desde nuestra aplicacin podremos saber si nos encontramos en modo de
prueba o modo completo y restringir o cambiar la forma en que nuestra aplicacin se
comporta, evitando el desarrollo de versiones lite como en otras plataformas.

2.2.2.- Modelo de UI
El modelo de interfaz de usuario de Windows Phone se compone de elementos,
pginas y sesiones. Un elemento es todo control que se muestra al usuario, una pgina
es una agrupacin lgica de elementos y una sesin es el conjunto de interacciones que
realiza un usuario sobre nuestra aplicacin e incluso puede involucrar a otras
aplicaciones.
Por ejemplo, podemos realizar una aplicacin que necesite del usuario una foto,
tenemos un botn (elemento) en nuestra pgina que muestra el HUB de imgenes y una
vez que el usuario ha seleccionado una, vuelve a nuestra aplicacin y se muestra la
imagen escogida. Este conjunto de acciones se engloba dentro de una sesin.

2.2.3.- Integracin con la nube


Windows Phone nace con una clara integracin con la nube. Por defecto tenemos
integracin con servicios como Exchange, Google Mail, Hotmail, Xbox Live,
Skydrive, Facebook, Twitter o Bing. En la versin actual del kit de desarrollo no
existen APIs que permitan a nuestras aplicaciones acceder a estos servicios
directamente, pero se espera que aparezcan en prximas actualizaciones.
Recientemente Microsoft ha liberado el Windows Phone Cloud Services SDK, un
kit de desarrollo que dotar de servicios en la nube exclusivos para Windows Phone
7.5, como reconocimiento OCR, Voz a texto y una serie de APIs para intercomunicar
dispositivos sin necesidad de tener una IP fija en ellos.

2.2.4.- Runtime de aplicaciones


Hasta ahora hemos tenido una visin general de los modelos de hardware y
software en los que se basa Windows Phone, en esta seccin examinaremos la parte
que ms nos involucra: el Application Runtime, dnde y cmo se ejecutarn nuestras

20 Windows Phone 7.5 - Desarrollo de aplicaciones en Silverlight

aplicaciones, las limitaciones que encontraremos y los frameworks que tenemos a


nuestro alcance para desarrollar. A continuacin podemos ver un esquema de cmo
est estructurado el Application Runtime de Windows Phone (Figura 1.3)

Figura 1.3.- Esquema del runtime de aplicaciones de Windows Phone

En Windows Phone podemos encontrar dos frameworks claramente diferenciados:


Silverlight para Windows Phone y XNA para Windows Phone.

Silverlight for Windows Phone es un framework basado en Silverlight


que nos permitir crear aplicaciones multimedia ricas que se ejecuten de
forma nativa en Windows Phone, con una interface creada en XAML.

XNA for Windows Phone a su vez se basa en XNA para Windows, se


trata de una solucin Multiscreen (Xbox, Windows, Windows Phone) 2D y
3D para crear juegos con calidad profesional en nuestro dispositivo.

Estos frameworks se ejecutan sobre un sandbox de .NET que les facilita el acceso al
hardware, sensores, almacenamiento, localizacin, etc Esto quiere decir que nuestras
aplicaciones nunca tendrn acceso nativo al sistema y siempre se ejecutarn aisladas
del sistema y entre ellas mismas, no pudiendo compartir espacio de almacenamiento ni
ningn otro tipo de informacin a no ser que usemos servicios externos en la nube para
ello.
Con la nueva versin de las herramientas de desarrollo para Mango (Windows
Phone 7.5) se abre la posibilidad de tener aplicaciones mixtas, que usen Silverlight para
la interface de usuario y XNA para grficos 3D, creando una experiencia de usuario
ms rica y completa.

Conociendo Windows Phone 21

3.- PREPARANDO NUESTRO ENTORNO


Una vez que hemos conocido un poco la arquitectura de hardware y software
general que podemos encontrar en Windows Phone es hora de comenzar a preparar
nuestro entorno de desarrollo. Para ello vamos a dar un repaso a las herramientas que
Microsoft pone a nuestra disposicin de forma gratuita para poder crear aplicaciones
para la plataforma.

3.1.- Descargando el SDK


Para comenzar a desarrollar aplicaciones en Windows Phone necesitaremos
descargar desde la web de Microsoft el Kit de Desarrollo de Software (SDK por sus
siglas en ingles Software Development Kit) que incluye todas las herramientas que
podemos necesitar para crear una aplicacin para Windows Phone:

Microsoft Visual Studio 2010 para Windows Phone

Microsoft Expression Blend para Windows Phone

Emulador de Windows Phone

Application Deployment

Windows Phone Developer Registration

Windows Phone Marketplace Test Tool

Podemos descargar el SDK de desarrollo de Windows Phone 7.5 desde la siguiente


URL: http://create.msdn.com/en-us/home/getting_started donde podremos
encontrar, adems de las herramientas, las ltimas actualizaciones del SDK e
instrucciones sobre su instalacin (Figura 1.4).

Figura 1.4.- Pgina de descarga del SDK de Windows Phone

Tenemos que descargar la versin final de las herramientas para Windows Phone
Mango. Pero Windows Phone Mango no es la versin 7.5? Exactamente, el nombre
de producto es Windows Phone 7.5, pero la versin del Sistema Operativo y, por ende,

22 Windows Phone 7.5 - Desarrollo de aplicaciones en Silverlight

la versin del kit de desarrollo es la versin 7.1. En este libro nos referiremos siempre a
Windows Phone 7.5, por ser el nombre oficial que Microsoft le ha dado al producto.
Una vez que hayamos descargado las herramientas, el proceso de instalacin es
muy sencillo, aunque puede llevar un tiempo considerable en funcin de la calidad de
nuestra conexin a Internet, el instalador se compone solo de un lanzador que ocupa
algo menos de 1Mb y descarga todos los componentes que necesite durante la
instalacin, necesitando en total alrededor de 230Mb (Figura 1.5):

Figura 1.5.- El propio instalador se descargar el software necesario

Nota: Debemos desinstalar cualquier versin anterior antes de comenzar la


instalacin de la versin final de las herramientas. Con esta versin podremos
trabajar en proyectos para Windows Phone 7.0 y 7.5 as que no debemos conservar
la versin 7.0 de las herramientas.

3.2.- Microsoft Visual Studio 2010 para Windows Phone


Una vez instalado el SDK de Windows Phone tendremos a nuestra disposicin todo
el software necesario para desarrollar aplicaciones comerciales para este sistema
operativo.

Conociendo Windows Phone 23

Una de las principales herramientas que usaremos en el proceso de crear nuestra


aplicacin ser Visual Studio el entorno de desarrollo profesional de Microsoft, en su
versin 2010 para Windows Phone, una versin totalmente gratuita y funcional (figura
1.6):

Figura 1.6.- Inicio de Visual Studio 2010 para Windows Phone

Desde esta ventana principal podremos crear un nuevo proyecto de Silverlight para
Windows Phone 7.5 o XNA 4.0 para Windows Phone 7.5, ambos usando como
lenguaje C# (figura 1.7), pulsando sobre el link New Project o en el men File >
New > Project.

Figura 1.7.- Pantalla de seleccin de nuevo proyecto

24 Windows Phone 7.5 - Desarrollo de aplicaciones en Silverlight

Ya que este libro est dedicado a Silverlight, nos centraremos en los diferentes
proyectos que podemos crear con esta tecnologa, dejando al lector que investigue los
proyectos de XNA si as lo desea.
Disponemos de 9 tipos de proyectos diferentes en Silverlight para Windows Phone:

Windows Phone Application

Windows Phone Databound Application

Windows Phone Class Library

Windows Phone Panorama Application

Windows Phone Pivot Application

Windows Phone 3D Graphics Application *

Windows Phone Audio Playback Agent *

Windows Phone Audio Streaming Agent *

Windows Phone Task Scheduler Agent *

Nota: Los proyectos marcados con * solo son compatibles con dispositivos que
ejecuten Windows Phone 7.5

3.2.1.- Windows Phone Application


La plantilla base para toda aplicacin Silverlight para Windows Phone, incluye una
pgina por defecto con los estilos de Windows Phone, archivos de imagen para la
pantalla de inicio e iconos que podemos sustituir por los nuestros si lo deseamos y todo
listo para ejecutar con solo pulsar F5.
Antes de ejecutar, debemos cerciorarnos de tener conectado nuestro telfono de
desarrollo y Zune o WPConnect iniciados, o seleccionar que se ejecute el emulador de
Windows phone en el combo que tenemos disponible a tal efecto.

3.2.2.- Windows Phone Databound Application


Esta plantilla es exactamente igual a la plantilla base explicada anteriormente, con
el aadido de que en la pgina creada tenemos un listbox con una plantilla de datos
simple, una carpeta SampleData con datos de ejemplo y una carpeta viewmodels con
clases MVVM listas para ser usadas. Nos puede ser muy til para ver cmo funciona el

Conociendo Windows Phone 25

enlace a datos en Windows Phone 7.5 y como usar el patrn de diseo MVVM para
crear aplicaciones.

3.2.3.- Windows Phone Class Library


Si hemos trabajado anteriormente con .NET este proyecto es bastante sencillo, se
trata de un proyecto para generar una librera de clases que podamos consumir desde
una aplicacin Windows Phone. Tenemos que recordar que, por norma general, no
podemos crear una librera de clases para WPF o Silverlight y aadirla a una aplicacin
Windows Phone 7.5, por lo que tendremos que usar este tipo de proyecto para crear
una librera especfica para nuestra aplicacin mvil. En posteriores captulos
abordaremos la problemtica de compartir cdigo entre aplicaciones web, mviles y de
escritorio gracias a una caracterstica de Visual Studio 2010 llamada multi targeting,
pero por ahora basta con decir que no podemos compartir una librera de clases entre
distintas plataformas.

3.2.4.- Windows Phone Panorama Application


Se trata de un proyecto Windows Phone Application estndar, pero se ha sustituido
el contenido por defecto por un control panorama, el cual nos permite tener elementos
que ocupen ms que el ancho de la pantalla y poder movernos por ellos simplemente
desplazndonos de derecha a izquierda, en una rueda sin fin, podemos ver ejemplos de
este control en los Hubs de Windows Phone 7.5, como por ejemplo el de Marketplace
(Figura 1.8).

Figura 1.8.- Panorama de la aplicacin marketplace de Windows Phone

26 Windows Phone 7.5 - Desarrollo de aplicaciones en Silverlight

3.2.5.- Windows Phone Pivot Application


Igual que el proyecto Panorama Application, pero en este caso sustituyendo el
contenido por defecto por un control Pivot, este control se comporta de forma parecida
a un control de pestaas, tenemos secciones que ocupan la pantalla y podemos navegar
por ellas, pulsando sobre el ttulo superior o simplemente desplazndonos con gestos
de derecha a izquierda o viceversa. Podemos ver un ejemplo de este control en la
configuracin de Windows Phone 7.5 y en otras aplicaciones que usan tabulacin para
mostrar distintos datos (Figura 1.9).

Figura 1.9.- Ejemplo de aplicacin Pivot

3.2.6.- Windows Phone 3D Graphics Application


Este tipo de proyecto exclusivo de Windows Phone 7.5 nos permite compartir en
una misma aplicacin, un interface de usuario creado totalmente en Silverlight con
grficos 3D de alta calidad generados usando XNA y totalmente interactivos. De esta
forma tenemos lo mejor de cada mundo, la sencillez y rapidez a la hora de generar
aplicaciones de Silverlight y toda la potencia de la GPU a la hora de crear contenidos
3D y grficos interactivos, as como animaciones complejas.

3.2.7.- Windows Phone Audio Playback Agent


Una de las grandes novedades de Mango, es el poder desarrollar aplicaciones que se
ejecuten en segundo plano, los llamados agentes. Entre ellos tenemos este proyecto en

Conociendo Windows Phone 27

concreto que nos permite reproducir msica que se encuentre en el telfono en segundo
plano sin necesidad de tener una interface de usuario abierta y visible.

3.2.8.- Windows Phone Audio Streaming Agent


Este proyecto es igual al anterior, salvo en que con el Streaming Agent podremos
reproducir msica por medio de Streaming sin necesidad de que esta se encuentre
directamente en el telfono.

3.2.9.- Windows Phone Task Scheduler Agent


Este tipo de proyecto nos permite ejecutar tareas de propsito general en el telfono
en segundo plano sin necesidad de una interface de usuario. Podemos as crear tareas
que se encarguen de recoger datos GPS y enviarlos a un servidor para seguir una ruta o
hacer cualquier tipo de procesamiento ms pesado o recurrente.

3.3.- Microsoft Expression Blend 4 para Windows Phone


En combinacin con Visual Studio 2010, tendremos a nuestra disposicin otra
fantstica herramienta para crear aplicaciones Windows Phone, se trata de Expression
Blend 4, pensada por y para diseadores, nos otorgar un control sin precedentes sobre
el aspecto de nuestra aplicacin y facilitar muchsimo el diseo de nuestra UI,
permitindonos a golpe de ratn definir animaciones, transiciones, personalizar
plantillas de control, estilos o plantillas de datos, incluso realizar el enlace a nuestros
datos de forma visual.
En caso de que tengamos instalada otra versin de Expression Blend 4 en nuestro
sistema antes de instalar las herramientas de Windows Phone, o si deseamos instalarla
despus de tener las herramientas en nuestro sistema, no tendremos ningn problema,
simplemente se aadirn las plantillas de Windows phone a la nueva versin y
podremos trabajar de forma homognea en otros proyectos. Tenemos que recordar que
no se trata de una versin recortada o de pruebas, es Expression Blend 4 al completo,
simplemente se limita el que solo tendremos acceso a las plantillas necesarias para
Windows Phone (Figura 1.10):

28 Windows Phone 7.5 - Desarrollo de aplicaciones en Silverlight

Figura 1.10.- Seleccin de proyecto en Expression Blend 4

Los proyectos a los que tenemos acceso son los mismos que en Visual Studio 2010,
no solo se llaman de la misma forma, Visual Studio 2010 y Expression Blend 4
comparten el mismo formato de proyecto, por lo que podremos crear un proyecto en
Visual Studio 2010 y abrirlo con Expression Blend 4 y viceversa, trabajando en ambos
entornos sobre el mismo proyecto sin ningn problema.
De hecho, al tener los dos instalados en el mismo sistema, se detectarn
mutuamente, desde Expression Blend al hacer clic derecho sobre un archivo XAML,
CS o VB tendremos una opcin en el men contextual Edit in Visual Studio (Editar
en Visual Studio) que automticamente nos abrir el proyecto en Visual Studio listo
para editar el archivo seleccionado, una vez hechos cambios, solo con guardar y volver
a Expression Blend los cambios se cargarn automticamente. De la misma forma, si
seleccionamos un archivo XAML en Visual Studio tendremos la opcin en el men
contextual Open in Expression Blend (Abrir en Expression Blend) que se comportar
igual, podremos realizar cambios y al volver a Visual Studio este los detectar y los
tendremos disponibles.

Nota: Para poder invocar a Visual Studio desde Blend y viceversa, debemos
ejecutar las aplicaciones con permisos elevados (Run as Administrator / Ejecutar
como Administrador), de lo contrario recibiremos un error indicndonos que
necesitamos elevar los permisos.

Conociendo Windows Phone 29

Esta integracin de Visual Studio y Expression Blend nos ayudar a realizar


aplicaciones visualmente impactantes de una forma natural y simple, integrando lo
mejor de una herramienta dedicada al desarrollo (Visual Studio) con otra dedicada al
diseo (Expression Blend).

3.4.- Emulador de Windows Phone


Junto con Visual Studio 2010 y Expression Blend 4 el kit de desarrollo de Windows
Phone tambin incluye un emulador totalmente funcional del sistema, que nos
permitir probar nuestras aplicaciones en condiciones parecidas a las que podemos
encontrar en un dispositivo real (Figura 1.11).

Figura 1.11.- Emulador de Windows Phone

Podremos lanzar el emulador desde Inicio > Programas > Windows Phone
Developer Tools > Emulador de Windows Phone.

30 Windows Phone 7.5 - Desarrollo de aplicaciones en Silverlight

Tambin podemos indicarle a Visual Studio que deseamos usar el emulador para
ejecutar nuestra aplicacin, desde el combo de target de Silverlight que encontraremos
en la barra standard de herramientas (Figura 1.12):

Figura 1.12.- Seleccin del destino de ejecucin

Aunque nunca reemplazar a pruebas en un dispositivo real, el emulador de


Windows Phone nos va a permitir de forma sencilla probar incluso aplicaciones que
dependan de la localizacin o que usen los sensores, como el acelermetro del telfono.
En la barra de botones del emulador, el ltimo de ellos (>>) (Figura 1.13) nos
permite acceder a la pantalla de herramientas adicionales:

Figura 1.13.- Acceso a las herramientas adicionales del emulador.

En estas herramientas tendremos acceso a un simulador de GPS que nos permitir


crear rutas y puntos que se enviarn a nuestro emulador como datos GPS reales para
que nuestra aplicacin pueda usarlos (Figura 1.14):

Conociendo Windows Phone 31

Figura 1.14.- Emulador de GPS enviando posiciones a nuestra aplicacin

Tambin tenemos una herramienta que nos permitir emular el comportamiento del
acelermetro en nuestra aplicacin, con un modelo 3D del telfono que podremos girar
como deseemos (Figura 1.15):

Figura 1.15.- Envo de datos de acelermetro a nuestro emulador

32 Windows Phone 7.5 - Desarrollo de aplicaciones en Silverlight

El emulador de Windows Phone nos permite usar combinaciones de teclas para


acceder a funcionalidad del telfono, a continuacin podemos ver una tabla con todas
ellas (Tabla 1.1):
Tabla 1.1.- Teclas de acceso rpido del emulador

Tecla
Retroceder Pgina (Page Up)
Avanzar Pgina (Page Down)
F1
F2
F3
F6
F7
F9
F10

Accin
Habilita el teclado en el emulador
Deshabilita el teclado en el emulador
Botn fsico Atrs
Botn fsico Inicio
Botn fsico Bsqueda
Botn cmara Media pulsacin
Botn cmara pulsacin completa
Botn Subir volumen
Botn Bajar volumen

Ms adelante cuando estemos trabajando con funcionalidad de fotos o audio nos


ser muy til conocer estas teclas de acceso rpido.

3.5.- Application Deployment Tool


Esta herramienta, que podemos encontrar en el SDK de Windows Phone, nos
permitir desplegar aplicaciones en formato XAP al emulador o a un dispositivo
desbloqueado para desarrollo, de esta forma podremos probar las aplicaciones fuera de
Visual Studio (Figura 1.16):

Figura 1.16.- Herramienta de despliegue de aplicaciones.

Conociendo Windows Phone 33

Si disponemos del proyecto original de la aplicacin podremos hacer esto mismo


desde Visual Studio, haciendo clic derecho sobre el proyecto y seleccionando la opcin
Deploy (Desplegar), esta accin instalar la aplicacin en el dispositivo seleccionado
en la barra de herramientas (El emulador o un dispositivo fsico).

3.6.- Developer Registration Tool


Esta herramienta nos permitir registrar un dispositivo fsico Windows Phone con
nuestra cuenta de desarrolladores de Marketplace, con lo que este dispositivo quedar
desbloqueado para desarrollo y podremos depurar y desplegar aplicaciones en l
(Figura 1.17):

Figura 1.17.- Herramienta de registro de dispositivos.

Para el correcto funcionamiento de la herramienta deberemos tener el dispositivo


conectado al PC, sincronizado con Zune y en la pantalla inicial de Windows Phone, si
el dispositivo est apagado o con el bloqueo de pantalla fallar.
Debemos tener en cuenta que no es necesario que la cuenta de LiveID del
dispositivo sea la misma que usamos en el marketplace y que el lmite de dispositivos
desbloqueados es de 3 por cada cuenta del marketplace, en caso de necesitar ms,

34 Windows Phone 7.5 - Desarrollo de aplicaciones en Silverlight

podemos ponernos en contacto con Microsoft directamente, donde estudiarn nuestro


caso particular y pueden acceder a habilitar ms dispositivos en nuestra cuenta.

3.7.- Marketplace Test Tool


Con la versin final de las herramientas de desarrollo para Windows Phone 7.5
Microsoft ha incluido una herramienta muy til, un kit de pruebas, automticas y
manuales, que emulan las pruebas que realiza el Marketplace cuando enviamos una
aplicacin para aceptacin (Figura 1.18):

Figura 1.18.- Marketplace Test Tool.

Esta herramienta de pruebas est totalmente integrada en Visual Studio 2010, solo
tendremos que presionar con el botn derecho sobre el nombre del proyecto y escoger
la opcin Open Marketplace Test Kit.

Conociendo Windows Phone 35

En la pantalla que se muestra arriba, la que aparece al seleccionar el Marketplace


Test Kit, tenemos 4 pestaas:

Application Details nos permitir cargar en el kit de pruebas la iconografa


y capturas de aplicacin que vamos a enviar al Marketplace.

Automated Test ejecutar una serie de pruebas automticas sobre nuestra


aplicacin y su iconografa para comprobar que todo es correcto. Para esta
y las siguientes opciones es muy importante que compilemos nuestra
aplicacin en modo Release.

Monitored Test iniciar nuestra aplicacin, deberemos hacer pruebas de


uso que sern monitorizadas y podremos ver los resultados de las pruebas
sobre conceptos de aceptacin como tiempo de arranque, consumo de
memoria, uso del botn atrs, etc

Manual Test se compone de 50 pruebas que deberemos ejecutar


manualmente en nuestra aplicacin, se trata de algo as como una lista de
comprobacin, donde manualmente deberemos probar cada situacin y
marcar en el test si se ha pasado o ha fallado.

Con todas estas pruebas podremos enviar al Marketplace una aplicacin con mucha
ms seguridad de que todo est en orden y que nuestra aplicacin superar las pruebas
del mismo de forma satisfactoria.

4.- SILVERLIGHT PARA WINDOWS PHONE


Con las herramientas de Desarrollo para Windows Phone 7.5 una de las
actualizaciones ms importantes que recibiremos ser el paso de Silverlight desde la
versin 3 a la versin 4, teniendo mucha ms potencia. Entre otras, estas son las
ventajas que nos aportar Silverlight 4 en Windows Phone:

Soporte mejorado para el patrn MVVM (Model View ViewModel)


o

Ahora los botones y los hipervnculos ya soportan enlace a


comandos

Estilos de controles globales usando TargetType

Nuevos controles

RichTextBox para mostrar texto enriquecido

ViewBox para poder redimensionar contenido

XAML mejorado, mayor compatibilidad con XAML escrito originalmente


para WPF

36 Windows Phone 7.5 - Desarrollo de aplicaciones en Silverlight

Enlace a datos permite enlace a instancias de DependencyObjects

StringFormat en las opciones de enlace a datos.

Hay muchas ms novedades y ventajas en esta nueva versin de Silverlight para


Windows phone, para verlas todas, puedes visitar el siguiente link de MSDN:
http://msdn.microsoft.com/en-us/library/hh237342(v=VS.96).aspx

5.- CONCLUSIN
De esta forma hemos terminado el primer captulo de Programar en Silverlight
para Windows phone.
Despus de haber ledo este captulo deberamos tener el conocimiento terico
necesario para comenzar a desarrollar aplicaciones para Windows Phone 7.5, sabiendo
los pormenores de la plataforma, su modelo de desarrollo de aplicaciones, las ventajas
de desarrollo y sus limitaciones. En el siguiente captulo profundizaremos en la
creacin de interfaces de usuario efectivas con Silverlight, posicionamiento de
controles, interfaces de usuario que fluyan, estilos, plantillas y reutilizacin de
recursos.

Te interesa este libro?


Cmpralo en nuestra tienda: www.campusmvp.com

En papel o en formato electrnico


Sin DRM
Imprimible
Busca en el contenido

Especialistas en formacin online y libros


de tecnologas Microsoft.

Sguenos y descubrirs los mejores trucos y recursos: