Exportar (0) Imprimir
Expandir todo
Expandir Minimizar

Novedades para programadores en Windows Mobile 6

Febrero de 2007

Publicado: 26 de marzo de 2007

Jim Wilson, JW Hedgehog, Inc.

Resumen: La versión de la plataforma de programador de Windows Mobile® 6 se centra en unos pocos objetivos principales: simplificar el desarrollo e implementación de aplicaciones de la línea de negocio (LOB), simplificar la tarea de crear una aplicación única que funciona correctamente en muchos dispositivos diferentes de la familia Windows Mobile y ofrecer una experiencia de usuario mejorada. En este artículo se describen las nuevas características de Windows Mobile 6 y su propósito desde la perspectiva del programador. Además, se describen muchas herramientas nuevas que se ofrece en el Kit de desarrollo de software (SDK) de Windows Mobile 6, y se proporcionan algunas instrucciones para comenzar a desarrollar aplicaciones de Windows Mobile 6.

Este artículo se aplica a: Windows Mobile 6 Professional, Windows Mobile 6 Standard, Windows Mobile 6 Classic

En esta página

Introducción  Introducción
Descripción de las convenciones de nomenclatura de Windows Mobile 6 Descripción de las convenciones de nomenclatura de Windows Mobile 6
Sólida compatibilidad con Windows Mobile 5.0 Sólida compatibilidad con Windows Mobile 5.0
Simplificación del desarrollo de aplicaciones Simplificación del desarrollo de aplicaciones
Simplificación de la implementación de aplicaciones Simplificación de la implementación de aplicaciones
Creación de una aplicación que funciona en múltiples dispositivos Creación de una aplicación que funciona en múltiples dispositivos
Mejora de la experiencia de usuario Mejora de la experiencia de usuario
Lo necesario para empezar a crear aplicaciones Windows Mobile 6 Lo necesario para empezar a crear aplicaciones Windows Mobile 6
Conclusión Conclusión
Consulte también  Consulte también

Introducción

La versión de la plataforma de programador de Windows Mobile 6 se centra en unos pocos objetivos principales: simplificar el desarrollo e implementación de aplicaciones LOB (línea de negocio), simplificar la tarea de crear una aplicación única que funciona correctamente en muchos dispositivos diferentes de la familia Windows Mobile y ofrecer una experiencia de usuario mejorada.

Para cumplir estos objetivos, Windows Mobile 6 se basa en versiones anteriores de Windows Mobile, sobre todo en Windows Mobile 5.0. Windows Mobile 5.0 ofrece muchas mejoras en la plataforma y las herramientas que han servido como base para el desarrollo de la aplicación Windows Mobile 6.

Si no conoce Windows Mobile 5.0 o le interesa recibir un recordatorio sobre Windows Mobile 5.0, consulte Novedades para programadores en Windows Mobile 5.0. Las características, las herramientas y las API que se analizan en el artículo Novedades para programadores en Windows Mobile 5.0 también corresponden a Windows Mobile 6.

En este artículo se describen las nuevas características de Windows Mobile 6 y su propósito desde la perspectiva del programador. Además, se describen muchas herramientas nuevas que se ofrece en el Kit de desarrollo de software (SDK) de Windows Mobile 6, y se proporcionan algunas instrucciones para comenzar a desarrollar aplicaciones de Windows Mobile 6.

Las listas siguientes tratan brevemente algunas de las características más significativas relacionadas con el programador de Windows Mobile 6 y el DK de Windows Mobile 6.

Desarrollo e implementación de aplicaciones de línea de negocio simplificados

  • En la memoria ROM de todos los dispositivos Windows Mobile se encuentran .NET Compact Framework 2.0 Service Pack 1 (SP1) y Microsoft SQL Server™ 2005 Compact Edition, lo que permite que su aplicación use .NET Compact Framework 2.0 y SQL Server 2005 Compact Edition sin que sea necesario distribuir o instalar ninguno de los dos productos en el dispositivo del usuario. De este modo se reducen el tiempo y el costo de implementación de aplicaciones y se consiguen ahorros monetarios directos.

  • Un emulador de dispositivos mejorado que proporciona mayor fidelidad de dispositivo y ofrece nuevos estados de emulación que incluyen transiciones entre la corriente alterna y la energía de la batería, y cambios en el nivel de carga de la batería.

  • FakeGPS, una nueva utilidad de prueba con Sistema de posicionamiento global (GPS), que permite probar sus aplicaciones habilitadas para ubicación sin necesidad de tener acceso a un dispositivo GPS.

  • Un nuevo Cellular Emulator que funciona junto con el emulador de dispositivos para probar el comportamiento de su aplicación en una variedad de escenarios celulares tales como llamadas telefónicas entrantes, mensajes SMS entrantes, llamadas telefónicas interrumpidas y conectividad de datos interrumpida.

Simplificación de la creación de una aplicación que funciona en múltiples dispositivos

  • Un emulador de dispositivos mejorado con muchas características nuevas que permite probar aplicaciones a través de una gama más amplia de factores de forma de dispositivo sin necesidad de comprar el dispositivo.

  • Un conjunto de API coherente en toda la familia Windows Mobile permite escribir una única aplicación que funciona correctamente en la amplia gama de dispositivos Windows Mobile, sin preocupación por el fabricante del dispositivo ni el operador móvil.

  • Orientación para el programador para las más de 100 aplicaciones de ejemplo incluidas en el SDK de Windows Mobile 6. Los ejemplos tratan una amplia variedad de temas que incluyen prácticas recomendadas para la creación de una aplicación que funciona en muchos dispositivos diferentes.

Experiencia de usuario mejorada

  • Windows Mobile 6 tiene una apariencia recientemente diseñada para mejorar la productividad y la experiencia del usuario. Cualquiera de las aplicaciones que usen formularios estándar de Windows Mobile, tales como el diálogo de selección de contactos, obtiene automáticamente las ventajas de la interfaz de usuario rediseñada.

  • Una versión ligera recién incluida de la API de tinta de Tablet PC, Windows Ink Services for Pen (WISP), permite incorporar características basadas en tinta en aplicaciones que funcionan en dispositivos con Windows Mobile 6 Professional y Windows Mobile 6 Classic.

  • La nueva API de sonido ofrece la capacidad de reproducir una gran variedad de formatos de sonido desde la aplicación Windows Mobile 6, que incluyen MID, WMA, MP3 y WAV.

Descripción de las convenciones de nomenclatura de Windows Mobile 6

En los años transcurridos desde la introducción del dispositivo Pocket PC original, los dispositivos móviles han avanzado mucho. Actualmente existen muchos tipos diferentes de dispositivos y factores de forma disponibles, cada cual con sus propios puntos fuertes. Donde antes había una distinción clara entre tipos de dispositivo, hoy las líneas que los separan son cada vez más finas. Los términos tradicionales como Pocket PC, Smartphone y Pocket PC Phone Edition pueden no ser suficientemente descriptivos y algunas veces provocar confusión. Para lograr que las capacidades y la relación entre dispositivos resulte más clara, Microsoft presenta nuevas convenciones de nomenclatura para todas las versiones del sistema operativo Windows Mobile 6. La tabla 1 muestra la relación entre las convenciones de nomenclatura de los sistemas operativos Windows Mobile 5.0 y Windows Mobile 6.

Tabla 1.Relación entre las convenciones de nomenclatura de los sistemas operativos Windows Mobile 5.0 y Windows Mobile 6

Nomenclatura de Windows Mobile 5.0

Nomenclatura de Windows Mobile 6

Windows Mobile 5.0 para Smartphone

Windows Mobile 6 Standard

Windows Mobile 5.0 para Pocket PC Phone Edition

Windows Mobile 6 Professional

Windows Mobile 5.0 para Pocket PC

Windows Mobile 6 Classic

La nueva convención de nomenclatura se centra en las capacidades de cada versión desde una perspectiva de la aplicación en lugar de centrarse en el hardware del dispositivo.

Si anteriormente ha desarrollado aplicaciones Windows Mobile, conoce la experiencia de programador sumamente coherente a través de la familia de dispositivos Windows Mobile; usa un conjunto común de API, herramientas y utilidades en toda la familia de Windows Mobile. La única característica que difiere entre dispositivos Windows Mobile es la compatibilidad con pantallas táctiles. Los dispositivos Pocket PC y Pocket PC Phone Edition tienen pantallas táctiles y, por lo tanto, admiten entradas directas de pantalla; los dispositivos Smartphone no tienen pantalla táctil y, por lo tanto, no admiten entradas directas de pantalla.

Para ser más coherentes con esta diferencia clave, los SDK de Windows Mobile 6 ya no están destinados a tipos específicos de dispositivo, como en los SDK anteriores de Windows Mobile. En su lugar, los dos SDK de Windows Mobile 6 diferencian entre dispositivos con pantalla táctil y dispositivos sin pantalla táctil. El SDK de Windows Mobile 6 Professional se usa para desarrollar aplicaciones para dispositivos que incluyen pantalla táctil, a los que históricamente se les denominaba Pocket PC o Pocket PC Phone Edition. El SDK de Windows Mobile 6 Standard se usa para desarrollar aplicaciones para dispositivos que no incluyen pantalla táctil, a los que históricamente se les denominada Smartphone. La relación entre los SDK de Windows Mobile 6 y los dispositivos Windows Mobile 6 se muestra en la tabla 2.

Tabla 2. Relación entre los sistemas operativos Windows Mobile 6 y los SDK de Windows Mobile 6

Sistema operativo Windows Mobile 6

SDK de Windows Mobile 6 correspondiente

Windows Mobile 6 Standard

SDK de Windows Mobile 6 Standard

Windows Mobile 6 Professional

SDK de Windows Mobile 6 Classic

Windows Mobile 6 Classic

SDK de Windows Mobile 6 Classic

Observe que los dos dispositivos que incluyen pantallas táctiles, Windows Mobile 6 Classic y Windows Mobile 6 Professional, usan el SDK de Windows Mobile 6 Professional; mientras que el dispositivo Windows Mobile 6 Standard, que no incluye pantalla táctil, usa el SDK de Windows Mobile 6 Standard.

Sólida compatibilidad con Windows Mobile 5.0

Windows Mobile 6 ofrece una excelente compatibilidad con aplicaciones Windows Mobile 5.0. La compatibilidad con Windows Mobile 5.0 es un objetivo explícito de Windows Mobile 6 y se han realizado numerosas pruebas durante el proceso de desarrollo de Windows Mobile 6. Una abrumadora mayoría de aplicaciones Windows Mobile 5.0 funcionarán en dispositivos Windows Mobile 6 sin modificaciones. La única información que se debe tener en cuenta es que dicha compatibilidad está condicionada por el uso de API admitidas por parte de las aplicaciones. Como se puede imaginar, las aplicaciones Windows Mobile 5.0 que usan API sin documentar o no admitidas pueden experimentar problemas de compatibilidad de aplicación que no experimentarán aquellas aplicaciones que usan API admitidas.

La sólida compatibilidad que ofrece Windows Mobile 6 para aplicaciones Windows Mobile 5.0 permite crear un único archivo ejecutable destinado a ambos dispositivos, Windows Mobile 5.0 y Windows Mobile 6, eligiendo entre el SDK de Windows Mobile 5.0 o el SDK de Windows Mobile 6. Estas aplicaciones funcionarán estupendamente en Windows Mobile 5.0 y aún mejor en Windows Mobile 6 gracias a la cantidad de mejoras de Windows Mobile, 6 tales como la incorporación de .NET Compact Framework 2.0 y de SQL Server Compact Edition en memoria ROM.

Simplificación del desarrollo de aplicaciones

Los SDK de Windows Mobile 6 ofrecen las herramientas y las bibliotecas necesarias para iniciar el desarrollo de aplicaciones Windows Mobile 6 usando Microsoft Visual Studio® 2005. Visual Studio 2005 y los SDK de Windows Mobile 6 se combinan para crear una eficaz plataforma de desarrollo de dispositivos móviles a la vez que ofrecen las herramientas y las características necesarias para lograr que el desarrollo de aplicaciones Windows Mobile sea más sencillo que nunca.

Herramientas

En esta sección se describen las nuevas herramientas de desarrollo que ofrecen los SDK de Windows Mobile 6 y la función que cada herramienta tiene en el proceso de desarrollo de la aplicación.

Device Emulator 2.0

Los emuladores siempre han sido una parte importante en el desarrollo de aplicaciones móviles, ya que permiten probar la aplicación sin necesidad de tener acceso a un dispositivo físico. Cuantas más pruebas se puedan realizar usando el emulador sin tener necesidad de usar un dispositivo real, más fácil, rápido y a un menor costo se podrá trabajar. Device Emulator 2.0, instalado como parte del SDK de Windows Mobile 6, se basa en el legado de Device Emulator 1.0 para ofrecer mayor fidelidad con la experiencia real del dispositivo al emular muchos nuevos estados y características de dispositivo anteriormente no disponibles. Como en el caso de Device Emulator 1.0, Device Emulator 2.0 es un verdadero emulador ARM. Device Emulator 2.0, puesto que es un verdadero emulador ARM, ejecuta los mismos archivos ejecutables que un dispositivo real, con lo que se elimina la necesidad de administrar archivos ejecutables de aplicación distintos para el emulador de los que se necesitan para el dispositivo real. Con Device Emulator 2.0, todo lo que se necesita para el emulador y los dispositivos reales es un único conjunto de archivos ejecutables.

El proceso de instalación del SDK de Windows Mobile 6 reemplaza automáticamente Device Emulator 1.0, que instala Visual Studio 2005, por Device Emulator 2.0. Por consiguiente, todo el proyecto Windows Mobile con Visual Studio 2005 usará Device Emulator 2.0 y podrá aprovechar las nuevas características y mejoras que ofrece Device Emulator 2.0.

Ejecución más rápida

Una de las frustraciones más grandes en la prueba de aplicaciones es la lentitud del inicio y la ejecución de la aplicación. Para reducir los retrasos debidos al rendimiento del emulador, Device Emulator 2.0 se ha optimizado considerablemente. Cada aplicación es diferente, de modo que es difícil decir en qué medida una aplicación individual resulta afectada por las optimizaciones del emulador, pero Device Emulator 2.0 puede ofrecer una mejora de rendimiento superior al 40 por ciento respecto a Device Emulator 1.0.

Más dispositivos emulados

Figura 1. Emulador de dispositivos emulando el nuevo factor de forma de pantalla 320x320 de Windows Mobile 6

Además de múltiples nuevos dispositivos Windows Mobile 6, Device Emulator 2.0 continúa ofreciendo un conjunto avanzado de emuladores de dispositivos Pocket PC 2003SE, Smartphone 2003SE, Windows Mobile 5.0 Pocket PC y Windows Mobile 5.0 Smartphone. En la figura 2 se muestra un dispositivo Pocket PC 2003SE y un Windows Mobile 5.0 Smartphone en el emulador de dispositivos.

Figura 2. Emulador de dispositivos emulando un Pocket PC 2003SE y un Windows Mobile 5.0 Smartphone

Tanto si Device Emulator 2.0 emula un nuevo dispositivo Windows Mobile 6 o un dispositivo anterior, el emulador continúa ofreciendo todas las nuevas características tratadas en esta sección.

Emulación del estado de la energía

Por su naturaleza, los dispositivos móviles pasan mucho tiempo con energía de baterías y sólo se conectan a la corriente alterna de vez en cuando. Cuando el nivel de carga de la batería del dispositivo pasa a ser muy bajo, es posible que la aplicación deba emprender acciones específicas para evitar la pérdida de datos en caso de que se agote por completo la carga de la batería. Para que ahora pueda probar los efectos de los cambios en el estado de la energía en la aplicación, Device Emulator 2.0 presenta la emulación del estado de la energía.

Figura 3. Controles de configuración del estado de la energía del emulador de dispositivos

Como se muestra en la figura 3, el diálogo de configuración del emulador permite intercambiar el estado del emulador entre uso de energía de batería y conexión a la corriente alterna activando o desactivando la casilla de verificación Battery: . Cuando se usa la batería, también se puede establecer el porcentaje de nivel de carga de la batería. El emulador responde a estos cambios en el estado de la energía y el nivel de carga exactamente como lo hace un dispositivo. El emulador muestra los iconos y mensajes apropiados; y además genera los eventos Broker de estado y notificaciones apropiados.

Emulación de perfiles de teléfono

Device Emulator 2.0 ofrece compatibilidad con tres nuevos perfiles de teléfono: auriculares, teléfono con altavoz y kit para automóvil. Como se muestra en la figura 4, es posible habilitar cada uno de estos perfiles activando la casilla de verificación apropiada en el diálogo de configuración del emulador. Al activar las casillas de verificación del perfil, el emulador se comporta exactamente como si se hubiera conectado auriculares, habilitado el teléfono con altavoz o conectado un kit para automóvil, incluida la generación de los eventos Broker de estado y notificaciones apropiados.

Figura 4. Controles de configuración del perfil del emulador de dispositivos

Cellular Emulator

La mayoría de dispositivos Windows Mobile disponibles en la actualidad poseen capacidades de comunicación telefónica y de otras comunicaciones inalámbricas. Existen muchas situaciones diferentes donde puede que se desee que la aplicación interactúe con estas capacidades de comunicaciones. Es posible que simplemente se desee bajar el volumen de la música que reproduce la aplicación cuando suena el teléfono o que se necesite incorporar características mucho más sofisticadas que impliquen un funcionamiento más estrecho con el hardware de comunicaciones. En cualquier de los casos, el desarrollo de estos tipos de aplicaciones ha sido complicado históricamente, debido en gran parte a la dificultad de realizar pruebas con tal aplicación.

Para abordar la dificultad de realizar pruebas con tales aplicaciones, el SDK de Windows Mobile 6 incluye Cellular Emulator. Cellular Emulator permite probar el comportamiento de la aplicación en diferentes situaciones de comunicaciones celulares desde el emulador de dispositivos. En la figura 5 se muestra Cellular Emulator.

Figura 5. Cellular Emulator permite probar el comportamiento del teléfono y las comunicaciones desde el emulador de dispositivos.

Cellular Emulator es una herramienta útil para probar el comportamiento de la aplicación, como el estado de cambios de comunicaciones celulares. Cellular Emulator permite realizar pruebas sencillas, tales como hacer llamadas salientes desde el emulador, recibir llamadas entrantes e interrumpir una llamada. También ofrece características semejantes para mensajes SMS. Para programadores que necesitan probar características más complejas, Cellular Emulator permite modificar la configuración de la tarjeta SIM y simular entregas de red entre redes de 2G y 3G. Todas estas pruebas se realizan sin necesidad de un dispositivo físico.

Para usar Cellular Emulator con el emulador de dispositivos, es necesario asociar primero Cellular Emulator con el emulador de dispositivos. Crear la asociación es muy sencillo.

  1. Tome nota del número de puerto COM que aparece en la esquina inferior izquierda de Cellular Emulator; COM4 en la figura 5.

  2. Para abrir el cuadro de diálogo Emulator Properties, en el menú Device Emulator, seleccione File y, a continuación, haga clic en Configure...

  3. En el cuadro de diálogo Properties, haga clic en la ficha Peripherals.

  4. Escriba el número de puerto COM de Cellular Emulator en el cuadro Serial Port 0 como se muestra en la figura 6. Si el número de puerto COM no aparece en la lista desplegable, puede escribirlo.

  5. Para cerrar el cuadro de diálogo Emulator Properties, haga clic en OK.

  6. Para realizar un restablecimiento parcial, en el menú File, haga clic en Reset y, a continuación, haga clic en Soft.

Cuando el emulador finaliza el proceso de restablecimiento, verá que ahora éste muestra que el servicio celular está disponible.

Figura 6. Introducción del número de puerto COM de Cellular Emulator para habilitar la emulación de servicio celular en Device Emulator

FakeGPS

La disponibilidad generalizada de equipamiento económico de sistema de posicionamiento global (GPS) combinada con la facilidad de uso de GPS Intermediate Driver presentado con Windows Mobile 5.0 ofrece a los programadores la oportunidad de habilitar fácilmente sus aplicaciones para ubicación. Históricamente, el desafío de las aplicaciones habilitadas para ubicación fue encontrar una buena manera de probarlas. Windows Mobile 6.0 resuelve este problema mediante la utilidad FakeGPS.

La utilidad FakeGPS permite probar fácilmente sus aplicaciones habilitadas para ubicación sin requerir acceso a un dispositivo GPS activo ni a una fuente GPS activa. En su lugar, se crea un archivo de texto sencillo que contiene una lista de mensajes GPS NMEA, se copia el archivo de texto en la carpeta \Archivos de programa\FakeGPS\GPS de su dispositivo y, a continuación, se habilita FakeGPS. A continuación, se muestra la parte de un archivo de entrada FakeGPS de ejemplo.

$GPGLL,4738.0173,N,12211.1874,W,191934.767,A*21 
$GPGSA,A,3,08,27,10,28,13,19,,,,,,,2.6,1.4,2.3*3E 
$GPGSV,3,1,9,8,71,307,43,27,78,59,41,3,21,47,0,10,26,283,40*77 
$GPGSV,3,2,9,29,13,317,0,28,37,226,37,13,32,155,36,19,37,79,42*42 
$GPGSV,3,3,9,134,0,0,0*46 
$GPRMC,191934.767,A,4738.0173,N,12211.1874,W,0.109623,12.14,291004,,*21 
$GPGGA,191935.767,4738.0172,N,12211.1874,W,1,06,1.4,32.9,M,- 
17.2,M,0.0,0000*75 
$GPGLL,4738.0172,N,12211.1874,W,191935.767,A*21 
$GPGSA,A,3,08,27,10,28,13,19,,,,,,,2.6,1.4,2.3*3E 
$GPRMC,191935.767,A,4738.0172,N,12211.1874,W,0.081611,15.81,291004,,*2A

FakeGPS, junto con GPS Intermediate Driver, dirige los mensajes del archivo de texto a cualquier aplicación que lea la fuente GPS. Puesto que la utilidad FakeGPS funciona directamente con GPS Intermediate Driver, ésta se puede usar para probar las aplicaciones en dispositivos reales y en el emulador de dispositivos sin necesidad de realizar modificaciones en el programa. Para activar la alimentación de datos de FakeGPS, emplee la utilidad FakeGPS para seleccionar el archivo de entrada deseado y elija la opción Enabled como se muestra en la figura 7.

Figura 7. Configuración de la alimentación de FakeGPS para permitir la prueba de aplicaciones habilitadas para ubicación

Security Configuration Manager

Pocas cosas son más frustrantes que una aplicación en la que se ha trabajado mucho para desarrollarla y que repentinamente falla al instalarla en el dispositivo del usuario. Desgraciadamente, esto puede ocurrir si no se prueba la aplicación en funcionamiento con la misma configuración de seguridad que la del dispositivo del usuario final. La mejor forma de evitar problemas relacionados con la seguridad es que el planeamiento de seguridad sea una parte central en el diseño, el desarrollo y el proceso de prueba de la aplicación. Este es el objetivo de Security Configuration Manager.

Security Configuration Manager se ejecuta en el equipo de escritorio y ofrece dos servicios básicos. Security Configuration Manager muestra la configuración de seguridad actual del dispositivo o del emulador conectado en estos momentos al equipo de escritorio a través de Microsoft ActiveSync® en Windows XP o Windows Mobile Device Center (WMDC) en Vista. La información que se muestra incluye la directiva de seguridad del dispositivo, la lista de configuración de seguridad individual y la lista de certificados instalados en cada uno de los almacenes de certificados del dispositivo.

Security Configuration Manager también permite configurar el emulador con directivas comunes de seguridad, con lo que se permite realizar pruebas exhaustivas del efecto de las distintas directivas de seguridad en la aplicación sin necesidad de un dispositivo real. En la figura 8 se muestra Security Configuration Manager justo después de configurar el emulador para tener una directiva de seguridad de mensaje de un nivel.

Figura 8. Security Configuration Manager justo después de actualizar la directiva de seguridad del emulador

Mediante Security Configuration Manager, puede aprovechar la comodidad de probar la aplicación con el emulador mientras se asegura de que la aplicación se comporte según lo esperado con las distintas directivas de seguridad.

Nota

Para obtener más información sobre seguridad de Windows Mobile, consulte el Centro de programadores de Windows Mobile o las Preguntas más frecuentes sobre Mobile2Market.

CabSignTool

Antes de distribuir la aplicación, habitualmente se debe firmar el archivo ejecutable de ésta y los archivos de instalación con el certificado apropiado para identificar a su organización como el editor de la aplicación. Por motivos de seguridad, deben firmarse todos los archivos ejecutables de la aplicación (*.dll y *.exe) y el archivo CAB que instala la aplicación. Firmar cada uno de los archivos ejecutables, generar el archivo CAB y, a continuación, firmarlo puede requerir mucho tiempo, en particular en los casos en que la aplicación se compone de varios archivos ejecutables. La utilidad CabSignTool es una utilidad de línea de comandos que simplifica el proceso de firma de la aplicación ya que evita que deba firmar las partes individuales de una aplicación.

La utilidad CabSignTool firma de una sola vez el archivo CAB y todos los archivos ejecutables contenidos. Basta con generar los archivos ejecutables de la aplicación y crear el archivo CAB, sin tener que preocuparse por firmar ninguno de los archivos. La utilidad CabSignTool expande el contenido del archivo CAB, firma cada uno de los archivos ejecutables, ensambla el archivo CAB de nuevo incorporando la versión firmada de los archivos ejecutables y, a continuación, firma el archivo CAB. La utilidad CabSignTool ofrece la opción de firmar tanto el archivo CAB como los archivos ejecutables con un único certificado o de firmar el archivo CAB con un certificado separado del que se usa para firmar los archivos ejecutables.

Hopper

Las aplicaciones móviles a menudo se dejan en ejecución en un dispositivo durante semanas o meses sin cerrarse. El uso prolongado de una aplicación en un período tan prolongado en ocasiones puede generar problemas en ésta que son difíciles de detectar con las pruebas tradicionales. Para detectar estos problemas es necesario provocar que la aplicación realice el mismo esfuerzo durante el ciclo de prueba que el que experimentará una vez implementada. La utilidad Hopper ofrece una manera de realizar esta clase de prueba de esfuerzo.

La utilidad Hopper simula un usuario que hace clic rápidamente en ubicaciones aleatorias dentro de la aplicación. Esto provoca que la aplicación realice un esfuerzo tremendo y causa un nivel de uso no estructurado de la aplicación que puede destapar errores en ésta que no se encuentran fácilmente realizando pruebas tradicionales de características de la aplicación. La utilidad Hopper se puede usar para realizar una prueba de esfuerzo a una sola aplicación o a varias aplicaciones a la vez incorporando aún más aleatoriedad cambiando de aplicación aleatoriamente y haciendo clic de forma aleatoria en las aplicaciones individuales. La utilidad Hopper se debe incluir en todas las pruebas de aplicación. Esta misma utilidad prueba dispositivos Windows Mobile para garantizar que sean estables. La inclusión de la utilidad Hopper en las pruebas no sólo comprueba la estabilidad de la aplicación sino que también comprueba que la aplicación no presente inestabilidad de dispositivo.

Local Server Framework

Local Server Framework está compuesto por herramientas y clases diseñadas para simplificar la prueba de aplicaciones móviles que dependen de la comunicación con servidores remotos. Para ayudar a simplificar el desarrollo de la aplicación móvil, Local Server Framework permite configurar una red y un servidor virtuales que reciben las llamadas de red que realiza la aplicación y devuelve los resultados que el programa espera. Al usar un entorno de servidor local bien controlado, se pueden separar más fácilmente los problemas de las aplicaciones móviles creados por la red o el servidor externos de los problemas que se producen en el programa.

Ejemplos

El SDK de Windows Mobile 6 ofrece varios ejemplos que pueden resultar útiles. Los ejemplos tratan la mayoría de los temas que probablemente se encontrarán al desarrollar aplicaciones Windows Mobile 6 y sirven para ahorrar mucho tiempo y herramientas de aprendizaje. Algunos de los ejemplos más significativos se muestran a continuación.

UILayout

En este ejemplo se muestra cómo generar una aplicación nativa que se adapte dinámicamente a diferencias de factor de forma del dispositivo. En este ejemplo se trata cómo incorporar el acoplamiento, delimitación y otras características de administración de visualización. En el ejemplo también se incluye una clase, ScreenLib, que encapsula gran parte de esta lógica de visualización. La clase ScreenLib está diseñada para ser reutilizada y se puede adaptar fácilmente a sus propias aplicaciones.

RingtoneManager

En este ejemplo se muestra el uso de la nueva API de sonido de Windows Mobile 6.

BasicRecognition, InkNotes e InkSerialization

En estos ejemplos se muestran varios usos de las API WISP Lite. Los temas tratados incluyen cómo realizar el reconocimiento de textos en entradas basadas en tinta, cómo usar entradas basadas en tinta en una aplicación y cómo almacenar tinta en un archivo.

GPS

En este ejemplo se muestra cómo tener acceso a GPS Intermediate Driver desde una aplicación administrada. En el ejemplo se incluyen todos los métodos de contenedor necesarios para resumir los detalles de llamadas nativas de la aplicación administrada.

.NET Compact Framework 2.0

Todos los dispositivos Windows Mobile 6.0 incluyen .NET Compact Framework 2.0 SP1 en memoria ROM. Esto permite aprovechar al máximo las interesantes funciones que proporciona .NET Compact Framework 2.0 y las múltiples mejoras sobre .NET Compact Framework 1.0 sin tener que preocuparse por implementar el motor en tiempo de ejecución de .NET Compact Framework 2.0 con la aplicación. Incluso las aplicaciones .NET Compact Framework 1.0 funcionarán mejor en los dispositivos Windows Mobile 6 porque las aplicaciones .NET Compact Framework 1.0 son totalmente compatibles con .NET Compact Framework 2.0 y, por consiguiente, se ejecutarán en dispositivos Windows Mobile 6 y aprovecharán al máximo las mejoras de .NET Compact Framework 2.0 sin necesidad de realizar ningún cambio en el programa. Las mejoras para .NET Compact Framework 2.0 son muchas y se centran en mejorar la productividad del programador, con lo que se ofrece una mayor fidelidad con .NET Framework y se incrementa la compatibilidad con las características de dispositivo. En esta sección se describen algunas de las características más significativas de .NET Compact Framework 2.0.

Características mejoradas de interfaz de usuario

Aunque .NET Compact Framework 2.0 incluye varias mejoras por toda la aplicación, muchas de las mejoras más obvias se encuentran en las características relacionadas con la interfaz de usuario.

Controles de formularios Windows

Los controles son los elementos fundamentales de la interfaz de usuario de la aplicación. La facilidad de uso de muchas aplicaciones está directamente vinculada a la medida en que la aplicación aprovecha los controles disponibles. .NET Compact Framework 2.0 ofrece muchos controles nuevos; éstos ayudan a simplificar el diseño de la interfaz de usuario de la aplicación y ofrecen una experiencia mejorada para el usuario.

Controles MonthCalendar y DateTimePicker

Como parte de los nuevos controles, .NET Compact Framework 2.0 ofrece dos controles para mostrar y escribir información basada en fechas: el control MonthCalendar y el control DateTimePicker. Ambos controles se muestran en la figura 9. El control MonthCalendar es útil cuando se desea incluir el aspecto de calendario en la aplicación y tenerlo siempre visible en el formulario. DateTimePicker es el más apropiado para el tamaño de pantalla limitado de los dispositivos móviles; la información de fecha y hora se muestran en lo que se parece a un control TextBox pero cuando el usuario necesita escribir datos, el control DateTimePicker muestra un calendario completo.

Figura 9. El control MonthCalendar y el control DateTimePicker

Control WebBrowser

Para las aplicaciones que desean incorporar una visualización avanzada basada en HTML, .NET Compact Framework 2.0 incluye el control WebBrowser, que se muestra en la figura 10. El control WebBrowser ofrece varios eventos que permiten que la aplicación realice un seguimiento de la interacción del usuario con el contenido del control WebBrowser; si se prefiere, la aplicación puede responder a eventos de interacción del usuario con comportamientos personalizados.

Figura 10. El control WebBrowser muestra la página de búsqueda de Windows Live para móviles

Control Notification

Uno de controles nuevos más interesantes es el control Notification. El control Notification permite mostrar un mensaje al usuario sin cambiar el contexto de la actividad actual del usuario. El control Notification permite mostrar mensajes en un globo de estilo emergente similar a la forma en que un dispositivo Windows Mobile muestra un mensaje de batería baja.

Otros controles

Los controles mencionados en esta sección son apenas el principio. .NET Compact Framework 2.0 incluye muchos más controles que los mencionados aquí entre los que se encuentran el control StatusBar, el control DataGrid para Smartphone, controles personalizados derivados de UserControl y muchos más.

Compatibilidad para diferencias del factor de forma de dispositivo

Los dispositivos Windows Mobile se suministran con muchos factores de forma distintos con nuevos factores de forma que aparecen a cada instante. Para garantizar que la aplicación funcione correctamente en toda la familia de dispositivos Windows Mobile, es necesario diseñar la interfaz de usuario de la aplicación para adaptar diferencias de tamaño, forma y resolución de pantallas de dispositivo. Para evitar tener que administrar estas diferencias de dispositivo, .NET Compact Framework 2.0 ofrece varias características nuevas que simplifican la creación de interfaces de usuario de aplicación adaptables.

Lo más destacable de estas nuevas características es la adición del control de acoplamiento y el control de delimitación. Los controles de acoplamiento y delimitación ayudan a hacer la interfaz de usuario de aplicación más adaptable porque el acoplamiento y la delimitación permiten ofrecer comportamientos predeterminados respecto a cómo debe responder un control frente a cambios en el área de visualización.

El acoplamiento de un control alinea el control con el borde del control principal. Por ejemplo, si se configura un control para acoplarlo con el borde izquierdo del control principal, el control se posiciona frente al borde izquierdo del control principal y llena por completo el área a lo largo del borde izquierdo del control principal, tal como se muestra en la figura 11. Cuando las diferencias en el factor de forma del dispositivo provocan un cambio en el tamaño del control principal, el control acoplado cambia automáticamente su tamaño hasta quedar alineado con el borde izquierdo del control principal.

Figura 11. Un control acoplado al borde superior del control principal que se muestra en una visualización en vertical y horizontal

La delimitación de un control indica que uno o más bordes de un control deben permanecer a una distancia fija de los bordes correspondientes del control principal. Las diferencias en el tamaño de pantalla del dispositivo hacen que el control ajuste su tamaño automáticamente y, si es necesario, su posición para mantener siempre la distancia especificada del borde delimitado con los bordes del control principal. En la figura 12 se muestra un control TextBox delimitado por los bordes izquierdo, derecho e inferior del control principal.

Figura 12. Un control delimitado por los bordes izquierdo, derecho e inferior del control principal en una visualización en vertical y horizontal.

A veces, es posible que no resulte práctico que una aplicación cambie el tamaño de sus controles o los mueva en respuesta a diferencias en el tamaño del área de visualización del dispositivo. Esto suele ocurrir cuando una aplicación tiene varios controles, que si cambian de tamaño pueden resultar demasiado pequeños para que el usuario los use con comodidad. En este caso, la mejor solución es permitir al usuario desplazar el área de visualización de la aplicación para que pueda ver los controles que están fuera del borde de la visualización. Con .NET Compact Framework 2.0, no es necesario realizar ninguna acción especial para incorporar el desplazamiento en la aplicación. Cuando se muestra la aplicación, .NET Compact Framework 2.0 detecta automáticamente si alguno de los controles está fuera de la vista debido al tamaño de la visualización y, si es necesario, agrega barras de desplazamiento al formulario de la aplicación. .NET Compact Framework 2.0 también ofrece todo el control de la barra de desplazamiento; por lo tanto, el usuario puede desplazar el formulario para alcanzar los controles ocultos sin necesidad que la aplicación realice ninguna acción especial.

Los dispositivos no solo tienen tamaños de visualización distintos sino también resoluciones de pantalla distintas. Si estas diferencias de resolución no se toman en cuenta, una aplicación originalmente diseñada para una pantalla de 96 puntos por pulgada (ppp) se verá muy reducida y angosta en un dispositivo de 192 ppp. Para una visualización apropiada, es preciso cambiar la escala de los controles para la nueva resolución de pantalla. Con .NET Compact Framework 2.0, tratar con estas diferencias de resolución es sencillo porque .NET Compact Framework 2.0 cambia la escala automáticamente de todos los controles para tomar en cuenta las diferencias en la resolución en tiempo de diseño y en la resolución en tiempo de ejecución.

Interacción de teclado y navegación basada en teclado

Una mejora muy importante en .NET Compact Framework 2.0 es una mejor compatibilidad con dispositivos con teclados numéricos o con teclados ordinarios. En .NET Compact Framework 2.0, todos los controles ahora reciben los eventos KeyUp, KeyDown y KeyPress, que permiten incorporar una administración personalizada de teclado a la aplicación. A través de la propiedad Form.KeyPreview recientemente agregada, se puede elegir si se desea que los eventos de teclado se envíen a los controles individuales o si todos los eventos de control de teclado se envían al formulario que contiene los controles.

.NET Compact Framework 2.0 incluye también compatibilidad para establecer controles, tales como las tabulaciones, así como para establecer el orden de tabulaciones de control. Esto permite que los usuarios con dispositivos habilitados para teclado puedan moverse entre los controles de la aplicación mediante la tecla tabulador en lugar de tener que usar un lápiz.

Características de datos mejoradas

Por su naturaleza, las aplicaciones de línea de negocio emplean mucho tiempo en administrar los datos e interactuar con éstos. Para programadores que crean aplicaciones de línea de negocio, las clases de datos eficientes y fáciles de usar son esenciales. Windows Mobile 6 ofrece a los programadores de aplicaciones de línea de negocio total compatibilidad con base de datos relacional que necesitan al incluir SQL Server Compact Edition en memoria ROM. Con SQL Server Compact Edition en memoria ROM, puede aprovechar la eficacia y las capacidades de una base de datos relacional instalada de forma local, SQL Server Compact Edition, sin necesidad de incluir componentes de instalación de base de datos en la implementación de la aplicación.

Tanto si trabaja con datos relacionales que usan la clase Dataset y SQL Server Compact Edition como si trabaja con datos jerárquicos que usan las clases XML, .NET Compact Framework 2.0 ofrece las clases fáciles de usar, eficaces y con múltiples características que necesita para reducir el trabajo de programación a la vez que mejora el rendimiento de la aplicación.

Nota

Además de las múltiples nuevas y estupendas características que se tratan en esta sección, consulte la siguiente sección "Mayor rendimiento y administración de recursos más eficiente" para obtener una exposición de las mejoras de rendimiento en tiempo de ejecución de clases de datos.

Datos relacionales

La única clase de datos relacional que .NET Compact Framework 2.0 proporciona y que más afectará a sus aplicaciones es la nueva clase SqlCeResultSet. La clase SqlCeResultSet ofrece un cursor actualizable que se desplaza directamente a una base de datos de SQL Server Compact Edition. En lugar de duplicar grandes volúmenes de datos de la base de datos en memoria como hace la clase Dataset, la clase SqlCeResultSet trabaja directamente con el motor de base de datos de SQL Server Compact Edition y, en consecuencia, ofrece la actualización de datos y el desplazamiento de cursor sin necesidad de duplicar los datos.

La arquitectura de la clase SqlCeResultSet reduce considerablemente la cantidad de memoria que una aplicación usa en comparación con la clase Dataset. En muchos casos, SqlCeResultSet puede reducir la cantidad de memoria que requiere la aplicación en varios megabytes. Además de reducir el consumo de memoria, SqlCeResultSet es mucho más rápida que la clase Dataset. La clase SqlCeResultSet suele superar a la clase Dataset de un 300 a 500 por ciento.

XML

.NET Compact Framework 2.0 ofrece varias mejoras para el trabajo con datos basados en XML. Estos cambios hacen más sencillo el trabajo con las API XML y les ofrecen muchas más opciones de acuerdo con las características ofrecidas por la totalidad de .NET Framework. Como parte de estas mejoras, .NET Compact Framework 2.0 agrega compatibilidad para el lenguaje de consulta XML XPath; XPath puede reducir considerablemente la cantidad de programación necesaria para desplazarse por datos XML y a menudo puede desplazarse por datos XML más eficientemente que cuando se usan API explícitas de navegación. La clase XmlSchema y clases relacionadas también se han agregado y permiten crear esquemas XML y trabajar con éstos mediante programación.

Una de las características solicitadas con más frecuencia, la serialización XML, ahora está disponible. .NET Compact Framework 2.0 ahora incluye la clase XmlSerializer y clases relacionadas tales como XmlElement y XmlAttribute. Con la adición de estas clases, ahora puede mantener y restaurar fácilmente objetos de aplicación como XML.

La nueva clase XmlSerializer reemplaza la implementación de la serialización XML del servicio web usada en .NET Compact Framework 1.0. Toda serialización y deserialización XML del servicio web ahora se realiza con la nueva clase XmlSerializer. La nueva clase XmlSerializer es sistemáticamente de dos a tres veces más rápida que la implementación de la serialización XML de servicio web en .NET Compact Framework 1.0. Gracias a la nueva clase XmlSerializer, el tiempo total que una aplicación emplea en una llamada de servicio web desde una aplicación .NET Compact Framework 2.0 ahora puede ser apreciablemente más breve que la misma llamada desde una aplicación .NET Compact Framework 1.0

Mayor rendimiento y administración de recursos más eficiente

Windows Mobile 6 ofrece mejor rendimiento para aplicaciones administradas al incluir .NET Compact Framework 2.0 en memoria ROM. .NET Compact Framework 2.0 ofrece una mejora sustancial de rendimiento respecto a .NET Compact Framework 1.0. La mejora de rendimiento afecta prácticamente a todas las áreas de ejecución de la aplicación, incluida la recuperación de recursos de aplicación.

El tiempo de ejecución de .NET Compact Framework 2.0 se ha examinado en profundidad y se ha trabajo en ella con el fin de mejorar el rendimiento. El esfuerzo ha valido la pena. Aunque es difícil identificar cómo las mejoras de rendimiento afectarán a una aplicación en particular, muchas áreas del tiempo de ejecución de .NET Compact Framework 2.0 pueden funcionar casi a una vez y media de la velocidad de funcionamiento correspondiente en .NET Compact Framework 1.0. En otras áreas se obtienen mejoras incluso más significativas, tales como el método de envío, tanto virtual como no virtual, que en muchos casos es casi de dos veces y media más rápido que en .NET Compact Framework 1.0.

Además de las mejoras generales de rendimiento en tiempo de ejecución, se ha prestado especial atención a la mejora del rendimiento de las clases de datos. La clase Dataset de .NET Compact Framework 2.0 carga los datos de tres a cuatro veces más rápido que la versión de .NET Compact Framework 1.0. La clase XmlTextReader ha experimentado mejoras similares de rendimiento y ahora puede leer el contenido de un archivo XML casi tres veces más rápido que en .NET Compact Framework 1.0.

Además de la gran cantidad de mejoras de rendimiento en tiempo de ejecución de la aplicación, .NET Compact Framework 2.0 también ofrece increíbles mejoras de rendimiento en el recolector de elementos no usados. En general, el recolector de elementos no usados de .NET Compact Framework 2.0 recupera la memoria más de siete veces más rápido que en .NET Compact Framework 1.0. Las asignaciones de grandes objetos se administraban y recuperaban por separado de otras asignaciones de memoria y ya eran muy rápidas en .NET Compact Framework 1.0, pero el recolector de elementos no usados de .NET Compact Framework 2.0 es aún cuatro veces más rápido. En la tabla 3 se ofrece información general acerca de las mejoras de rendimiento de .NET Compact Framework 2.0.

Tabla 3. Información general acerca de las mejoras de rendimiento de .NET Compact Framework 2.0 respecto a .NET Compact Framework 1.0

Tarea

Mejora de rendimiento de .NET CF 2.0 respecto a .NET CF 1.0

Tiempo total de ejecución

1 1/2 veces más rápido (de media)

Envío del método

2 1/2 veces más rápido

Carga de conjuntos de datos

De 3 a 4 veces más rápido

Lectura de XmlTextReader

3 veces más rápido

Recuperación de memoria del recolector de elementos no usados

7 veces más rápido

Recuperación de grandes objetos del recolector de elementos no usados

4 veces más rápido

Las aplicaciones no sólo funcionarán mejor con .NET Compact Framework 2.0 que con .NET Compact Framework 1.0, sino que además las aplicaciones .NET Compact Framework 2.0 que se ejecutan en un dispositivo Windows Mobile 6 se iniciarán un 25 por ciento más rápido que la misma aplicación .NET Compact Framework 2.0 ejecutándose en un dispositivo Windows Mobile anterior. El tiempo de inicio mejorado en los dispositivos Windows Mobile 6 es el resultado de la instalación de .NET Compact Framework 2.0 en la memoria ROM del dispositivo. Simplemente por el hecho de tener .NET Compact Framework 2.0 en la memoria ROM del dispositivo, se mejora el inicio de la aplicación un 25 por ciento respecto a dispositivos que tienen .NET Compact Framework 2.0 instalado en la RAM.

Todas estas mejoras del rendimiento no sólo significan que los usuarios estarán más satisfechos con aplicaciones más rápidas y con mayor capacidad de respuesta, sino que estas mejoras de rendimiento también aceleran el desarrollo de las aplicaciones porque ahora se invierte menos tiempo en esperar. La aplicación se iniciará más rápido, se ejecutará más rápido y producirá los resultados de pruebas de aplicación más rápido.

Interoperabilidad de código nativo con cambios de arquitectura

.NET Compact Framework 2.0 ofrece muchas características en comparación con las disponibles en .NET Compact Framework 1.0. Con muchas más características, las aplicaciones .NET Compact Framework 2.0 pueden realizar mucho más de su trabajo usando sólo código administrado de lo que era posible en aplicaciones .NET Compact Framework 1.0. Aún con todas estas nuevas características, las aplicaciones administradas todavía necesitan interactuar en ocasiones con código nativo. .NET Compact Framework 2.0 ofrece una implementación de interoperabilidad de código nativo muy mejorada respecto a la que se proporciona en .NET Compact Framework 1.0, lo que hace que la interacción con código nativo de la aplicación administrada sea mucho más sencilla y menos confusa.

.NET Compact Framework 2.0 agrega compatibilidad con el Modelo de objetos componentes (COM), que permite que las aplicaciones administradas llamen directamente a los componentes COM. Ya no es necesario crear una biblioteca nativa personalizada para lograr tener acceso a un objeto COM como era necesario en .NET Compact Framework 1.0.

La capa de cálculo de referencias del código nativo ha sido mejorada con el fin de admitir muchos más tipos de datos que en el pasado. La mayor parte de las limitaciones en el cálculo de referencias de datos presentes en .NET Compact Framework 1.0 han desaparecido. Ahora puede pasar directamente la mayoría de los parámetros desde la aplicación administrada al código nativo sin ninguna programación especial; esto incluye las clases y estructuras que contienen tipos incrustados tales como cadenas y matrices. .NET Compact Framework 2.0 también ofrece el cálculo de referencias de parámetros personalizado a través del atributo MarshalAs.

Para programadores que necesiten trabajar con funciones nativas que requieran un identificador de ventana, todos los controles de formularios Windows de .NET Compact Framework 2.0 ahora ofrecen una propiedad Handle. La propiedad Handle detecta el identificador de ventana nativo de la ventana subyacente del control y se puede pasar a métodos nativos que esperan un identificador de ventana.

SQL Server 2005 Compact Edition

Todos los dispositivos Windows Mobile 6 tienen SQL Server Compact Edition, una base de datos relacional de calidad empresarial, instalada en memoria ROM; esto es así tanto para los dispositivos Pocket PC como Smartphone. Con SQL Server Compact Edition en memoria ROM, las aplicaciones pueden aprovechar totalmente la base de datos local completamente relacional, SQL Server Compact Edition, sin necesidad de incluir componentes de instalación de la base de datos en la implementación de la aplicación. De este modo se reduce el tiempo y el costo del soporte técnico de implementación.

Nota

Los archivos de la base de datos existentes creados con SQL Server 2005 Mobile Edition son totalmente compatibles con SQL Server 2005 Compact Edition y se pueden usar sin modificaciones en el archivo de la base de datos.

Múltiples características

SQL Server Compact Edition es una base de datos relacional con múltiples características que ofrece una sintaxis SQL completa que incluye combinaciones internas, combinaciones externas y subconsultas. SQL Server Compact Edition ofrece plena coherencia transaccional, lo que garantiza que la base de datos siempre se mantiene en un estado coherente aún en el caso de bloqueos de la aplicación o pérdida total de energía del dispositivo. SQL Server Compact Edition ofrece bloqueo de registro, página y base de datos, lo que garantiza la integridad de la base de datos incluso cuando múltiples subprocesos o múltiples aplicaciones tienen acceso a ésta y la actualizan de forma simultánea. Una característica clave para las aplicaciones LOB es la compatibilidad de SQL Server Compact Edition para bases de datos de hasta 4 GB de tamaño.

Conocido

SQL Server Compact Edition permite aprovechar plenamente las capacidades existentes en SQL Server y, para ello, ofrece un exhaustivo subconjunto de implementación SQL de SQL Server 2005. También es posible aprovechar plenamente las capacidades existentes en programación de base de datos porque SQL Server Compact Edition ofrece una biblioteca ADO.NET para aplicaciones administradas y una biblioteca OLEDB para aplicaciones nativas, ambas coherentes con sus homólogos de SQL Server 2005.

SQL Server Compact Edition se integra completamente tanto con SQL Server Management Studio como con Visual Studio 2005. Con SQL Server Management Studio, se pueden crear nuevas bases de datos de SQL Server Compact Edition, ver los objetos de la base de datos, crear tablas, modificar tablas y realizar consultas interactivas. En la figura 13 se muestra SQL Server Management Studio que muestra la lista de tablas, columnas de tabla e índices de tabla de una base de datos de SQL Server Compact Edition.

Figura 13. Tabla de la base de datos, columnas de tabla e índices de tabla de SQL Server Compact Edition visualizados en SQL Server Management Studio

Visual Studio 2005 es totalmente compatible con SQL Server Compact Edition y ofrece las mismas características orientadas a datos que las disponibles en otras bases de datos. Mediante Visual Studio 2005, es posible agregar una base de datos de SQL Server Compact Edition a un proyecto como un origen de datos. Al agregar un origen de datos SQL Server Compact Edition, Visual Studio 2005 se comporta del mismo modo que con una base de datos de SQL Server 2005; genera una clase con establecimiento inflexible de tipos derivada de Dataset y agrega las tablas de la base de datos al panel Orígenes de datos de Visual Studio 2005. Igual que con SQL Server 2005, puede arrastrar tablas y columnas del panel Orígenes de datos hasta los formularios de la aplicación y Visual Studio 2005 genera automáticamente los controles y el código de enlace de datos apropiados. En la figura 14 se muestran las tablas de base de datos de SQL Server Compact Edition vistas en el panel Orígenes de datos.

Figura 14. Tablas de una base de datos de SQL Server Compact Edition en el panel Orígenes de datos de Visual Studio 2005

Mediante el Explorador de servidores de Visual Studio 2005, puede abrir una base de datos de SQL Server Compact Edition y examinar interactivamente el contenido de la base de datos. También puede abrir tablas de la base de datos desde el Explorador de servidores para ver, agregar, modificar y eliminar registros.

Compatibilidad con sincronización de datos integrada

Uno de los problemas más importantes que se debe solucionar al diseñar una aplicación LOB móvil es la estrategia de sincronización de datos. Cuando se copian datos por primera vez de una base de datos empresarial a un dispositivo móvil, ambas bases, la del dispositivo y la de la empresa, poseen la misma información; sin embargo, al cabo de poco tiempo ambas bases de datos poseen información diferente. La actividad del usuario puede tener como resultado cambios realizados en los datos en el dispositivo; de modo similar, la actividad en la empresa probablemente tendrá como resultado cambios realizados en los datos en la base de datos empresarial. Es necesario decidir de qué manera la aplicación sincronizará la base de datos del dispositivo y la base de datos empresarial para que ambas bases de datos vuelvan a ser coherentes.

e mezcla para que se ejecute en un subproceso en segundo plano. De este modo, el subproceso de la aplicación principal estará disponible para mantener una interfaz de usuario con capacidad de respuesta. Los eventos de progreso brindan a la aplicación actualizaciones regulares del estado del proceso de sincronización de datos que se incluyen durante el intercambio de cambios de cada tabla y durante el progreso de la fase de conciliación de cambios.

Tanto RDA como la réplica de mezcla realizan el proceso de sincronización de datos a través de un servidor web y los cambios en los datos se envían a través del protocolo de transferencia de hipertexto (HTTP) o el protocolo seguro de transferencia de hipertexto (HTTPS). Realizar la sincronización de datos a través de un servidor web ofrece una flexibilidad extraordinaria ya que permite que la base de datos de SQL Server Compact Edition se sincronice con la base de datos empresarial en cualquier momento que el dispositivo se pueda conectar a Internet a través de una conexión de alta velocidad como WiFi o una conexión celular más lenta.

Para los entornos de aplicación donde los datos se almacenan en una base de datos individual en un equipo de escritorio del usuario en lugar de una base de datos empresarial, SQL Server Compact Edition ofrece SQL Server Compact Edition Access Database Synchronizer (ADS). Mediante ADS, puede rellenar la base de datos de SQL Server Compact Edition de su dispositivo con datos de la base de datos Access del equipo de escritorio del usuario. La base de datos de SQL Server Compact Edition realiza automáticamente un seguimiento de los cambios efectuados en la base de datos del dispositivo. Más tarde, cuando se conecta el dispositivo, SQL Server Compact Edition aplica los cambios de la base de datos del dispositivo a la base de datos Access.

Seguro

La portabilidad de los dispositivos móviles requiere que se sigan unas prácticas seguras con el fin de garantizar que la información importante no se vea en riesgo. Para proteger los datos de la base de datos de SQL Server Compact Edition, SQL Server Compact Edition admite la protección mediante contraseña de la base de datos y el cifrado del contenido de la base de datos. La protección mediante contraseña y el cifrado del contenido de la base de datos se realiza fácilmente cuando se crea la base de datos. A continuación se muestra una instrucción SQL que crea una base de datos denominada Safedata.sdf en la unidad C, establece la contraseña P@ssw0rd y configura la base de datos para cifrar todos los datos.

Create Database "c:\SafeData.sdf" databasepassword 'P@ssw0rd'  
encryption on

Todos los datos almacenados en la base de datos serán cifrados. La única manera de obtener acceso correctamente al contenido de la base de datos es suministrando la contraseña al abrir la base de datos. En el ejemplo siguiente se muestra cómo crear un archivo de base de datos protegido mediante contraseña y cifrado mediante programación desde un programa C#.

SqlCeEngine dbEngine =  
        new SqlCeEngine(@"data source=\My  
        Documents\SafeData.sdf;password=P@ssw0rd;encrypt database=TRUE"); 
dbEngine.CreateDatabase();

Además de ofrecer contenido de base de datos seguro, SQL Server Compact Edition también proporciona el intercambio de datos seguro al sincronizar con una base de datos empresarial mediante RDA o la réplica de mezcla. Tanto RDA y como la réplica de mezcla admiten el uso de HTTPS para cifrar los datos del historial de cambios cuando se intercambian a través de Internet con la base de datos.

AJAX

Windows Mobile 6 incluye una versión actualizada de Microsoft Internet Explorer® Mobile que ofrece compatibilidad con XML DOM y JavaScript necesaria para ejecutar aplicaciones AJAX básicas. Así, podrá aprovechar las capacidades de ASP.NET, XML y JavaScript existentes para generar aplicaciones avanzadas basadas en explorador que se ejecutan en dispositivos Windows Mobile 6.

Nota

La actualización del SDK de Windows Mobile 6 que se realizará el 1º de mayo de 2007 incluye las imágenes del emulador de Windows Mobile 6 compatibles con aplicaciones AJAX básicas.

Simplificación de la implementación de aplicaciones

Ninguna aplicación tiene éxito hasta que no se implementa en los usuarios finales. A menudo los tiempos de implementación de una aplicación y el soporte técnico de ese proceso de implementación son muy prolongados y pueden afectar considerablemente en el tiempo disponible para desarrollar nuevas características y aplicaciones. Windows Mobile 6 incorpora varias mejoras que reducirán el tiempo y el esfuerzo que se invierten en administrar y brindar soporte técnico a la implementación de la aplicación. Estas mejoras reducen el costo total de implementación de la aplicación y al reducir el tiempo que se invierte en administrar y brindar soporte técnico a la implementación de la aplicación, Windows Mobile 6 le ofrece más tiempo para agregar nuevas características a la aplicación y crear aplicaciones nuevas.

Menos software para instalar

Windows Mobile 6 simplifica la implementación tanto de las aplicaciones administradas como de las nativas al incluir .NET Compact Framework 2.0 SP1 y SQL Server 2005 Compact Edition en la memoria ROM de todos los dispositivos Windows Mobile 6. El hecho de disponer de .NET Compact Framework 2.0 SP1 y SQL Server Compact Edition en memoria ROM simplifica considerablemente la implementación de la aplicación y reduce el nivel de soporte técnico que se debe ofrecer a los usuarios finales para que instalen las aplicaciones correctamente.

Las ventajas de disponer de .NET Compact Framework 2.0 SP1 y SQL Server Compact Edition en memoria ROM son numerosas. Tendrá una plataforma de destino bien definida que garantiza que estos dos componentes principales de software estén siempre presentes e instalados como corresponde. El tamaño total del paquete de instalación de la aplicación es reducido ya que sólo contiene componentes de la aplicación. Un paquete de instalación reducido ofrece tiempos rápidos de descarga e instalación, lo que simplifica la distribución de la aplicación y la actualización de ésta. Los tiempos rápidos de instalación y descarga también ofrecen una experiencia de usuario positiva.

Además de una experiencia de usuario, una implementación y un soporte técnicos mejorados, si tiene instalados .NET Compact Framework 2.0 SP1 y SQL Server Compact Edition en la memoria ROM del dispositivo también obtendrá un mejor entorno de tiempo de ejecución para la aplicación. Si .NET Compact Framework 2.0 SP1 y SQL Server Compact Edition están instalados en la memoria ROM del dispositivo, no ocuparán la memoria RAM del dispositivo. Cuanto menos software se instala en la memoria RAM más espacio en la RAM queda para que la aplicación lo use para el almacenamiento de datos.

Compatibilidad con la implementación basada en URL

La adición de compatibilidad AJAX básica a Internet Explorer Mobile en Windows Mobile 6 ofrece nuevas oportunidades para distribuir aplicaciones. Para escenarios de aplicación en los que una solución basada en AJAX resulta apropiada, se puede implementar la aplicación sencillamente enviando por correo electrónico la dirección URL apropiada. Cuando el usuario recibe la dirección URL simplemente busca la dirección URL mediante Internet Explorer Mobile. No es necesario instalar ningún software adicional en el dispositivo porque Internet Explorer Mobile incluye todo lo necesario para ejecutar los programas AJAX básicos.

Firma de código simplificada

Un aspecto clave de la estrategia de Windows Mobile es el uso de certificados para firmar archivos ejecutables de aplicación y archivos de instalación. En aplicaciones más grandes, el proceso de firmar apropiadamente los archivos ejecutables de aplicación y los archivos de instalación puede ser tedioso. La nueva utilidad CodeSignTool, mencionada anteriormente en este artículo, reduce considerablemente el trabajo de firmar los archivos de instalación de aplicación ya que permite firmar todos los archivos necesarios con un solo comando.

Creación de una aplicación que funciona en múltiples dispositivos

La flexibilidad y la eficacia de la programación de los dispositivos Windows Mobile hacen que una cantidad creciente de personas los usen con distintos fines. Con un uso tan extendido, no existe un solo factor de forma de dispositivo que sea apropiado para todos. Para acomodarse a un abanico tan amplio de usuarios, los dispositivos Windows Mobile están disponibles en una gran variedad de factores de forma. En la tabla 4 se muestran algunos de los factores de forma más comunes de los dispositivos Windows Mobile.

Tabla 4. Factores de forma más comunes de los dispositivos Windows Mobile

Tamaño

Resolución

Pantalla táctil

176x220

96 ppp

No

240x320

131 ppp

No

320x240

131 ppp

No

320x320*

128 ppp

240x320/320x240

96 ppp

480x640/640x480

192 ppp

240x240

96 ppp

480x480

192 ppp

*Nuevo en Windows Mobile 6

Con tal variedad de factores de forma disponibles, se debe estar seguro de crear la aplicación para que se adapte a los distintos factores de forma de dispositivo. Se deberá recordar que la lista de factores de forma de dispositivos Windows Mobile no deja de aumentar. Windows Mobile 6 incluye muchas características y recursos nuevos orientados a reducir el esfuerzo necesario para crear aplicaciones que se adapten fácilmente a las diferencias de factores de forma. Observará que con Windows Mobile 6 crear una única aplicación que aprovecha las capacidades específicas de cada dispositivo que la vez funciona correctamente en una gran variedad de factores de forma de dispositivo es más fácil que nunca.

Nota

El factor de forma de pantalla 320x320 presenta una resolución nueva y un área de visualización que difiere levemente de los factores de forma anteriores. Asegúrese de incluir este nuevo factor de forma en la prueba de la aplicación; de lo contrario, las diferencias con otros factores de forma pueden crear dificultades en la visualización de la aplicación en los dispositivos con este factor de forma.

Siga las recomendaciones de seguridad

Los dispositivos originales Pocket PC con Windows Mobile incluían muy pocos elementos en términos de seguridad de dispositivo. A medida que la plataforma ha madurado cada vez se ha vuelto más segura. La tendencia de mejorar la seguridad de la plataforma Windows Mobile es algo que probablemente continuará. Para minimizar los problemas de compatibilidad con versiones futuras de Windows Mobile existen apenas un par de recomendaciones de seguridad que se deben empezar a incorporar hoy en las aplicaciones.

  • La aplicación sólo deberá escribir en la carpeta donde se encuentra ubicado el archivo ejecutable de la aplicación o en la carpeta Mis documentos. En algún momento en el futuro, quizás se precisen privilegios especiales para escribir en otras carpetas.

  • Al escribir en el registro, escriba únicamente en el subárbol HKEY_CURRENT_USER. Al igual que el sistema de archivos, otras áreas del registro pueden requerir privilegios especiales en algún momento en el futuro.

Conjunto de API coherentes en todos los dispositivos

Los dispositivos Windows Mobile ofrecen un conjunto de API uniforme en todos los dispositivos Windows Mobile. Este es un factor crítico que hace que sea práctico crear un único archivo ejecutable de aplicación que funciona en todos los dispositivos Windows Mobile. Tanto la API de Win32® como .NET Compact Framework 2.0 son exhaustivos y coherentes en todos los dispositivos Windows Mobile. Al disponer de un conjunto de API uniforme se evitas tener que administrar y distribuir archivos ejecutables separados para distintos tipos de dispositivo.

La única área que requiere una consideración especial es la pantalla del dispositivo; en esto se concentra el resto de esta sección.

Emulación de dispositivos

El emulador de dispositivos es una de las herramientas más importantes de que se dispone para desarrollar aplicaciones que se ejecutan correctamente en distintos factores de forma de dispositivo. Mediante el emulador de dispositivos, es posible probar la aplicación en muchos factores de forma de dispositivo distintos sin necesidad de tener acceso a los dispositivos físicos que presenten dichos factores de forma. Visual Studio 2005 y el SDK de Windows Mobile 6 ofrecen en conjunto un total de más de 25 imágenes de emulador que permiten probar completamente el comportamiento de la aplicación en una gran variedad de factores de forma de dispositivo. Consulte la figura 15 para obtener un ejemplo de los distintos factores de forma de dispositivo que admite el emulador.

Figura 15. Algunos ejemplos de factores de forma del emulador de dispositivos

Compatibilidad en tiempo de diseño de Visual Studio 2005

El diseñador de formularios de Visual Studio 2005 ofrece un mecanismo rápido y fácil de usar para generar la interfaz de usuario de aplicación. Mediante este diseñador, se puede crear y modificar la apariencia de un formulario y ver el resultado de inmediato. Esta experiencia en tiempo de diseño WYSIWYG (lo que se ve es lo que se obtiene), no se limita a aplicaciones con interfaces de usuario estáticas. El diseñador de formularios de Visual Studio 2005 tiene en cuenta el factor de forma y, por lo tanto, permite ver la apariencia de los formularios de la aplicación con los distintos factores de forma. Con esta característica se ahorra mucho tiempo ya que no es necesario ejecutar la aplicación para ver el efecto de los distintos factores de forma.

Para ver cómo se representa el formulario cuando gira de la posición vertical a la horizontal, puede hacer clic con el botón secundario en el formulario y girarlo 90 grados hacia la derecha o la izquierda. Puede hacer clic de nuevo en el formulario y girarlo hasta que regrese a la posición vertical. En la figura 16 se muestra un formulario en el diseñador de formularios de Visual Studio 2005 que gira de la posición vertical a la horizontal.

Figura 16. Uso del diseñador de formularios de Visual Studio 2005 para ver cambios en el diseño de un formulario al girarlo de la posición vertical a la horizontal

Para ver el efecto de otros cambios en el tamaño y la resolución de pantalla, Visual Studio 2005 ofrece una propiedad exclusiva en tiempo de diseño, el factor de forma.

Al seleccionar un nuevo valor de factor de forma, el diseñador de formularios de Visual Studio 2005 muestra el formulario tal como si se mostrara dentro del factor de forma seleccionado. En la figura 17 se muestra el formulario de la figura 16 cuando se selecciona el factor de forma Cuadrado de Windows Mobile 6 Professional. Observe la adición de las barras de desplazamiento para alcanzar los controles de la parte inferior del formulario.

Figura 17. Visualización del formulario de la figura 16 en el diseñador de formularios de Visual Studio 2005 dentro de un factor de forma Cuadrado

Compatibilidad en tiempo de ejecución y de API

La compatibilidad con las diferencias en los factores de forma de dispositivos es un aspecto esencial del desarrollo de aplicaciones Windows Mobile. Para ayudar a implementar la compatibilidad para las diferencias en el factor de forma de dispositivo, las clases y el tiempo de ejecución de .NET Compact Framework 2.0 ofrecen compatibilidad integrada para responder dinámicamente a cambios en el factor de forma de dispositivo. De forma similar, los programadores de aplicaciones nativas tienen varias API que ofrecen una compatibilidad semejante.

Aplicaciones administradas

Para las aplicaciones administradas, .NET Compact Framework 2.0 ofrece varias características nuevas que habilitan el tiempo de ejecución para que ajuste automáticamente el tamaño y la posición de los controles: control de acoplamiento, control de delimitación, desplazamiento automático y cambio de escala automático. Un control acoplado se posiciona frente a uno de los bordes del control principal y rellena el área completa a lo largo de dicho borde. En respuesta a las diferencias en el tamaño de pantalla, el control ajusta automáticamente su tamaño para rellenar siempre el borde completo del control principal. Consulte la figura 11 anterior en este artículo para obtener un ejemplo de un control acoplado.

Un control delimitado mantiene una distancia fija entre uno o más bordes del control y los bordes del control principal. En respuesta a las diferencias en el tamaño de pantalla, los controles delimitados ajustan automáticamente su propio tamaño para mantener una distancia apropiada entre los bordes delimitados del control y los del control principal. En la figura 12 anterior de este artículo se muestra un control delimitado.

En .NET Compact Framework 2.0 el desplazamiento y cambio de escala automáticos están disponibles en las propiedades AutoScroll y AutoScaleMode en el control Form. Cuando la propiedad AutoScroll del formulario se establece en verdadero, el formulario agregará automáticamente barras de desplazamiento cuando un cambio en el tamaño de pantalla tenga como resultado que algunos de los controles del formulario queden fuera de la vista. Las diferencias de factor de forma de dispositivo no se limitan a variaciones en el tamaño; diferentes factores de forma de dispositivo también pueden tener resoluciones diferentes. Las diferencias en resoluciones de dispositivo pueden hacer que los controles del formulario de la aplicación aparezcan muy pequeños o muy grandes. Al establecer la propiedad AutoScaleMode del formulario en Autoscalemode.Dpi, los controles del formulario cambian automáticamente de escala para poder representarse apropiadamente en las diferentes resoluciones de pantalla.

Aplicaciones nativas

Aunque no es nuevo para Windows Mobile 6, Microsoft C ++ ofrece más de veinte funciones y macros que realizan tareas comunes asociadas con la adaptación a diferencias en las visualizaciones de dispositivo. Los encontrará en el archivo de encabezado DeviceResolutionAware.h ubicado en la carpeta %Program Files% \Microsoft Visual Studio 8\ VC\ce\atlmfc\include. En la tabla 5 se muestran sólo algunas de estas funciones y macros.

Tabla 5. Algunas funciones y macros nativas que ayudan a adaptar las diferencias de visualización de dispositivo

Función o Macro

Descripción

GetDisplayMode

Devuelve un valor que identifica si la orientación de la visualización actual es vertical, horizontal o cuadrada.

SCALEX, SCALEY, SCALERECT, SCALEPT

Ajusta el valor según sea necesario para la resolución actual de pantalla.

StretchIcon

Ajusta el tamaño de un icono para que se ajuste al área actual de visualización.

RelayoutDialog

Copia los datos de un cuadro de diálogo a otro; resulta útil cuando un usuario cambia la orientación de una visualización de dispositivo mientras se muestra el cuadro de diálogo. Esto permite que la aplicación muestre otro cuadro de diálogo que tiene los mismos controles que el cuadro de diálogo original, pero con un tamaño modificado apropiadamente para la resolución actual.

FixupDialogItem

Soluciona problemas habituales que se producen cuando una aplicación cambia el tamaño de un diálogo; por ejemplo al desplazar la selección de un ListBox del control o un ComboBox del control en la vista en caso de que sea desplazado fuera del área de visualización.

Compatibilidad de recursos

Para reducir la cantidad de tiempo que se emplea al incorporar la capacidad de adaptación al factor de forma en la aplicación, Microsoft ofrece varios recursos de ayuda. Estos recursos abordan muchas de las recomendaciones que se deben seguir durante la implementación de la aplicación. Estos recursos ofrecen también código de trabajo que atiende muchos de los problemas comunes asociados con la administración de diferencias de dispositivos. El código no sólo se puede usar como ejemplo de cómo solucionar diferencias de factores de forma de dispositivos, sino que también se puede incorporar en la aplicación y aprovecharlo de inmediato.

Recursos para programadores de aplicaciones administradas

Para programadores de aplicaciones administradas, el grupo Microsoft Patterns and Practices ofrece Mobile Client Software Factory. Mobile Client Software Factory es una combinación de recomendaciones, código fuente, componentes y ejemplos que abordan muchas de las situaciones comunes a las que se enfrentan los programadores móviles. Específicamente para tratar las diferencias de factor de forma de dispositivo, Mobile Client Software Factory ofrece OrientationAwareControl. OrientationAwareControl funciona con Visual Studio 2005 para permitirle diseñar gráficamente un control que contiene uno o más controles secundarios; como parte de la definición del diseño del control, se definen diseños separados para cada factor de forma diferente.

Mediante OrientationAwareControl, primero se define el diseño del control como se desea que aparezca en un factor de forma. En Visual Studio 2005, se modifica el factor de forma para ver cómo se presenta el control cuando se visualiza usando el nuevo factor de forma. Si no está conforme con la manera en que aparece el control cuando se visualiza con el nuevo factor de forma, puede ajustar el diseño del control para el nuevo factor de forma sin que ello afecte al diseño del control del factor de forma original. El control mantiene por separado la información de diseño de cada uno de los distintos factores de forma para su uso en tiempo de ejecución. Cuando se ejecuta la aplicación, OrientationAwareControl representa el diseño apropiado para el factor de forma actual. Por ejemplo, si una aplicación se ejecuta en un dispositivo con tamaño de pantalla 240x320, resolución de 96 ppp y orientación vertical, OrientationAwareControl usa el diseño definido para un tamaño de pantalla 240x320, una resolución de 96 ppp y orientación vertical. Si el usuario gira el dispositivo y lo orienta en horizontal, OrientationAwareControl presenta el diseño definido con un tamaño de pantalla 320x240, una resolución de 96 ppp y orientación horizontal. OrientationAwareControl funciona de forma similar para cambios en la resolución de pantalla y el tamaño.

Otro recurso clave para los programadores de aplicaciones administradas es el kit Mobile Line of Business Solution Accelerator. Este kit ofrece a los programadores de LOB un recurso en el que se muestra cómo generar una aplicación de LOB para Windows Mobile. El kit incluye el código fuente completo con extensos comentarios, una base de datos de ejemplo y más de 100 páginas de documentación. También incluye componentes de la aplicación destinados a usuarios con distintas funciones, que incluyen el servicio de atención al cliente, el trabajador de almacén y el controlador de entregas. Además de ofrecer orientación en el desarrollo de aplicaciones, el kit incluye también recomendaciones para implementar correctamente una aplicación móvil de línea de negocios a escala empresarial.

Recursos para programadores de aplicaciones nativas

Para programadores de aplicaciones nativas, el SDK de Windows Mobile 6 incluye el ejemplo UILayout. Este ejemplo muestra cómo implementar una aplicación nativa cuya interfaz de usuario se ajusta automáticamente a diferencias de visualización del dispositivo. La clase del ejemplo ScreenLib hace la mayoría del trabajo relacionado con la interfaz de usuario a través de la cantidad de métodos que ofrece, incluidos métodos para acoplar controles, delimitar controles, alinear controles, optimizar la disposición de los controles de la aplicación y muchos más. La clase ScreenLib está diseñada para ser reutilizada, por lo que puede incorporar la clase directamente en sus propias aplicaciones y aprovechar muchas de las características que ofrece.

Recursos generales

Para obtener la información más actualizada sobre la creación de aplicaciones que funcionan de forma eficaz en la familia completa de factores de forma de Windows Mobile, visite la página Adapte su aplicación Windows Mobile. La página Adapte su aplicación Windows Mobile es un recurso integral para todo lo relacionado con las aplicaciones adaptables Windows Mobile, que incluye notas del producto, difusiones por web, anuncios y mucho más.

Mejora de la experiencia de usuario

Windows Mobile 6 ofrece nuevas características orientadas a mejorar la experiencia de usuario. Estas características ofrecen a los programadores la oportunidad de mejorar la capacidad de uso de sus aplicaciones brindando nuevas maneras de interactuar con el usuario y responder a cambios en el estado del dispositivo.

Aspecto mejorado

Windows Mobile 6 ha rediseñado totalmente el aspecto del dispositivo. La visualización es mucho más nítida y limpia. Una de las áreas en donde el aspecto ha experimentado mayores cambios es en las pantallas de Pocket Outlook. Las pantallas no sólo ofrecen una presentación más nítida y limpia, sino que también simplifican la visualización de la información y la navegación en ésta. Sus aplicaciones aprovecharán muchas de estas mejoras simplemente por el hecho de ejecutarlas en un dispositivo Windows Mobile 6; no es necesario realizar ningún tipo de cambio.

Windows Mobile ofrece varios formularios de diálogo estándar, que incluyen el diálogo de selección de contactos y los formularios de mensajería. Estos diálogos estándar usados en la aplicación son los mismos formularios que se usan en Pocket Outlook y, por lo tanto, presentan el mismo aspecto mejorado cuando se visualizan en la aplicación que cuando se usan directamente en Pocket Outlook. De forma similar, el diálogo de selección de imágenes aprovecha las mejoras generales de visualización. Esto también sucede con aplicaciones que usan la clase .NET Compact Framework 2.0 DocumentList que los usuarios usan para encontrar y abrir archivos. En la figura 18 se muestra el nuevo diálogo de selección de imágenes de Windows Mobile 6.

Figura 18. El nuevo diálogo de selección de imágenes de Windows Mobile 6

De forma similar, el diálogo de selección de imágenes aprovecha las mejoras generales de visualización. Esto también sucede con aplicaciones que usan la clase .NET Compact Framework 2.0 DocumentList que los usuarios usan para encontrar y abrir archivos.

Nuevas opciones de entrada a través de la nueva API de tinta

Windows Mobile 6 incluye una versión ligera de la API de tinta WISP de Tablet PC, denominada WISP Lite. WISP Lite ofrece la eficacia y la flexibilidad de tinta enriquecida a todos los dispositivos Windows Mobile 6 Classic y Windows Mobile 6 Professional. WISP Lite ofrece total compatibilidad con datos de tinta de Tablet PC e incluye las API para la recolección de tinta, el reconocimiento, la representación y la administración de datos de tinta. WISP Lite ofrece una experiencia de fidelidad mucho mejor que el control RichInk anterior.

Experiencia de audio mejorada a través de la API New Sound

Windows Mobile 6 incluye un nuevo conjunto de API de sonido capaces de reproducir muchos formatos de archivo de sonido que no se admitían anteriormente. La nueva API de sonido puede reproducir archivos MP3, MID, WMA y WAV. En respuesta a la demanda de los programadores, la nueva API de sonido incluye la opción de respetar el perfil del dispositivo para que los sonidos no se reproduzcan cuando el dispositivo se establece en silencio o vibración.

La nueva API de sonido incluye funciones para recuperar el archivo de sonido asociado con eventos comunes tales como el conocido tono de timbre de llamada o el tono de timbre itinerante; también es posible cambiar el archivo de sonido asociado con estos eventos. Puede reproducir los archivos de sonido de forma sincrónica o asincrónica; opcionalmente, la API notificará a la aplicación cuando finalice la reproducción asincrónica. La nueva API también incluye funciones que buscan la ubicación de archivos de sonido en la RAM, la ROM y en las tarjetas de almacenamiento instaladas.

Nueva información de estado del dispositivo

El broker de estado y notificaciones permite que la aplicación esté informada de cambios en el estado de dispositivo y que reaccione de forma inteligente ante estos cambios de estado. A los más de 100 valores de estado del broker de estado y notificaciones admitidos por Windows Mobile 5.0, Windows Mobile 6 agrega varios más. En las llamadas telefónicas que usan el protocolo de voz sobre IP (VoIP), Windows Mobile 6 ofrece información de estado de llamada, incluido el número de teléfono, el nombre del operador, etc. Windows Mobile 6 agrega también información de estado para el bloqueo del dispositivo. Ahora se dispone de información de estado sobre los cambios del estado de bloqueo del teclado numérico, el estado del bloqueo de dispositivo y el estado de bloqueo de la tarjeta SIM.

Lo necesario para empezar a crear aplicaciones Windows Mobile 6

Empezar a desarrollar aplicaciones para Windows Mobile 6 es sencillo. De hecho, probablemente ya tiene la mayor parte de lo que necesita.

Requisitos previos

Para desarrollar su primera aplicación Windows Mobile 6, es necesario instalar algunos elementos. En esta sección se muestra la lista del software que necesitará y si cada uno de los componentes de software son necesarios, recomendados u opcionales. También se incluye una descripción breve del propósito de cada uno de ellos.

Requisito previo

Necesario/Opcional

Descripción

Visual Studio 2005 Standard Edition, Professional Edition o Team System

Necesario

Visual Studio 2005 es el entorno de desarrollo que se usa para crear aplicaciones Windows Mobile.

SDK de Windows Mobile 6 Professional o SDK de Windows Mobile 6 Standard

Necesario

Proporciona las herramientas, los archivos de encabezado, las imágenes de emulador y los tipos de proyecto de Visual Studio 2005 para desarrollar aplicaciones Windows Mobile 6.

ActiveSync 4.5 o superior (XP) o Windows Mobile Device Center (Vista)

Necesario

Proporciona la conectividad necesaria para conectar un dispositivo o una imagen de emulador Windows Mobile 6.

Visual Studio 2005 Service Pack 1

Opcional (Windows XP)

Necesario (Windows Vista™)

Incorpora revisiones secundarias y actualiza todos los diálogos orientados a datos en Visual Studio 2005 para mostrar el nombre de producto SQL Server Compact Edition. Para usuarios de Windows Vista, este service pack actualiza todo lo necesario para que Visual Studio 2005 funcione en Windows Vista.

.NET Compact Framework 2.0 Service Pack 1

Recomendado

Sin este service pack, Visual Studio 2005 implementará .NET Compact Framework 2.0 en el dispositivo Windows Mobile 6 cada vez que se implementa la aplicación. También agrega compatibilidad para depuración de línea de comandos y ofrece una nueva utilidad para revisar los datos de rendimiento provistos por el tiempo de ejecución de .NET Compact Framework 2.0.

SQL Server 2005 Compact Edition Tools para Visual Studio 2005

Opcional

Proporciona herramientas y ensamblados necesarios para desarrollar aplicaciones Windows Mobile 6 que usan SQL Server 2005 Compact Edition. Antes de instalar esta herramienta, debe instalar primero Visual Studio 2005 SP1.

Aprovechar habilidades existentes

Si alguna vez ha creado una aplicación para equipo de escritorio o una aplicación para servidor Windows, o incluso si nunca antes ha creado una aplicación Windows Mobile, ya posee las habilidades necesarias para comenzar a desarrollar aplicaciones Windows Mobile 6. Un factor que ayuda a empezar a crear aplicaciones Windows Mobile 6 es Visual Studio 2005. Crear una aplicación Windows Mobile 6 en Visual Studio 2005 es muy parecido a crear una aplicación de escritorio Windows Forms. Visual Studio 2005 mantiene los mismos comportamientos y ofrece las mismas características para las aplicaciones Windows Mobile 6 que para las aplicaciones de escritorio.

Desarrollo de aplicaciones administradas

Si es un programador de aplicaciones administradas, verá que .NET Compact Framework 2.0 ofrece las mismas clases que usa al crear aplicaciones de escritorio, y esas clases son un amplio subconjunto de clases de .NET Framework completo. .NET Compact Framework 2.0 también ofrece muchos de los mismos controles que Windows Forms usa para crear aplicaciones de escritorio. Estos controles proporcionan la misma experiencia conocida del desarrollo de aplicaciones de escritorio.

Desarrollo de aplicaciones nativas

La API principal para la plataforma Windows Mobile 6 es Win32 y aunque se trata de un subconjunto, es coherente con Win32 en el escritorio. De forma similar, tanto Active Template Library (ATL) como Microsoft Foundation Classes (MFC) están disponibles y ambas son un amplio subconjunto de sus equivalentes de escritorio. También verá que gran parte del código C\C++ escrito para aplicaciones de escritorio es compatible con Windows Mobile 6. Existe un grado tan alto de compatibilidad porque Visual Studio 2005 usa el mismo compilador cliente C\C++ tanto para las aplicaciones de escritorio como para las aplicaciones Windows Mobile.

Desarrollo de aplicaciones de base de datos

También comprobará que sus habilidades y experiencia en desarrollo de aplicaciones de base de datos para SQL Server 2000 y SQL Server 2005 tienen una fácil transición al desarrollo de aplicaciones SQL Server 2005 Compact Edition. La sintaxis SQL de SQL Server Compact Edition es completamente compatible con SQL Server 2005. De forma similar, las interfaces de programación ADO.NET y OLEDB para SQL Server Compact Edition son coherentes con las interfaces de programación correspondientes en SQL Server 2005. Incluso crear y administrar una base de datos SQL Server Compact Edition es parecido porque se usa la misma herramienta SQL Server Management Studio para crear y administrar las bases de datos SQL Server Compact Edition que al crear y administrar una base de datos SQL Server 2005.

Orientación

Microsoft ofrece varios recursos para brindarle la orientación que necesita para crear aplicaciones de calidad en la plataforma Windows Mobile 6. Además de la documentación del producto, existen varios lugares en los que se puede encontrar información sobre el desarrollo de aplicaciones Windows Mobile y recomendaciones para tener éxito en la plataforma Windows Mobile.

La página de Windows Mobile en MSDN® es probablemente el mejor lugar para empezar. Ofrece la información más actualizada sobre desarrollo para Windows Mobile. La página de Windows Mobile en MSDN incluye también punteros a otros recursos tales como notas del producto, blogs útiles y difusiones por web.

El grupo Microsoft Patterns and Practices proporciona una excelente orientación para programadores de Windows Mobile en Mobile Client Software Factory. Mobile Client Software Factory es un conjunto completo de recomendaciones, ejemplos, código fuente y herramientas para programadores de Windows Mobile. Los temas incluyen cómo tratar las diferencias en factores de forma de dispositivo, la administración de datos sin conexión, la sincronización de datos y la administración de aplicaciones a gran escala.

Windows Mobile es un proyecto admitido por la comunidad en el sitio Channel 9 de MSDN. Windows Mobile Wiki es una excelente manera de aprovechar el conocimiento y la experiencia de otros programadores. Se dará cuenta de que Wiki soluciona muchas de las preguntas más habituales.

El Grupo de noticias de Windows Mobile es un recurso admitido por la comunidad donde puede dejar preguntas sobre desarrollo en Windows Mobile y hacer que esas preguntas sean contestadas por sus homólogos del sector, incluidos muchos de los MVP (profesionales valiosos de Microsoft) en Windows Mobile.

La página Adapte su aplicación Windows Mobile ofrece la información más actualizada sobre problemas relacionados con el desarrollo de aplicaciones que funcionan en la familia completa de dispositivos Windows Mobile. Encontrará noticias, anuncios, punteros a las difusiones por web, así como punteros a las notas del producto, todos centrados en este problema.

Conclusión

Windows Mobile 6 ofrece las herramientas y características que los programadores necesitan para desarrollar e implementar aplicaciones de línea de negocio móviles eficaces. La incorporación de .NET Compact Framework 2.0 SP1 y SQL Server 2005 Compact Edition en la ROM de todos los dispositivos Windows Mobile 6 ofrece una plataforma de aplicación eficaz que también simplifica la implementación de la aplicación. Device Emulator 2.0 y las otras herramientas incluidas en el SDK de Windows Mobile 6 simplifican el proceso de desarrollo de aplicaciones que se ejecutan en un gran número de dispositivos diferentes y le proporciona la capacidad de realizar pruebas de la aplicación en una amplia variedad de características de dispositivo y factores de forma de Windows Mobile. Las más de 100 aplicaciones de ejemplo incluidas en el SDK de Windows Mobile 6, Patterns & Practices Mobile Client Software Factory y el kit Mobile Line of Business Solution Accelerator se combinan para ofrecerle la orientación necesaria para iniciar de inmediato el desarrollo de aplicaciones de línea de negocio.

Independientemente de si es un programador experimentado con Windows Mobile o de si es la primera vez que prepara un proyecto para Windows Mobile, observará que Windows Mobile 6 es la mejor plataforma de Windows Mobile disponible para aplicaciones de línea de negocio.

Consulte también

Centro de programadores de Windows Mobile: Seguridad, Implementación y administración

Preguntas más frecuentes sobre Mobile2Market

Mobile Client Software Factory

Kit Mobile Line of Business Solution Accelerator

Página Adapte su aplicación Windows Mobile

Página de Windows Mobile de MSDN

Grupo de noticias de programadores de Windows Mobile

Mostrar:
© 2014 Microsoft