Cuestiones básicas de desarrollo para dispositivos móviles con .NET – Parte II

Continuamos con esta serie de artículos en la que vamos revisado algunas de las importantes decisiones iniciales a considerar al emprender un proyecto de desarrollo móvil. En el artículo anterior abordamos el tema de la elección de la plataforma sobre la que implementaremos nuestra aplicación. Recordemos que la plataforma en este caso viene señalada por la versión del Sistema Operativo del dispositivo, y la edición para el tipo de dispositivos a utilizar, dependiendo de si presentaban pantalla táctil y/o funcionalidad de teléfono.

En esta ocasión nos vamos a centrar en revisar el conjunto de herramientas que tenemos a nuestra disposición para desarrollar aplicaciones para las diferentes plataformas. Dado que, como ya se mencionó en el artículo anterior, la plataforma Windows CE (o Windows Embedded) está orientada al desarrollo de software para dispositivos personalizados, vamos a dejar de lado esta plataforma de ahora en adelante y vamos a enfocar los artículos al desarrollo para las diferentes ediciones de Windows Mobile. Cabe resaltar que solo voy a mencionar en este artículo las herramientas básicas que extienden nuestro IDE (Visual Studio) para soportar el desarrollo en estas plataformas, puesto que ya César Fong y José Miguel Torres ya han hecho una excelente recopilación de herramientas y recursos para desarrollo en Windows Mobile.

Cerrando casi el presente año 2009 tomaremos como punto de partida las 2 últimas versiones (versiones finales) de Visual Studio disponibles a la fecha, es decir, Visual Studio 2005 y Visual Studio 2008. Y es que si bien ya desde Visual Studio .NET 2003 teníamos plantillas para el desarrollo de aplicaciones para dispositivos móviles, no podemos pasar por alto el hecho de que las herramientas que revisaremos a continuación solamente son compatibles con las versiones 2005 y 2008 de Visual Studio. Adelantándonos un poco al siguiente artículo, también podemos mencionar que en Visual Studio .NET 2003 solamente podíamos desarrollar aplicaciones para dispositivos móviles utilizando la versión 1.0 del .NET Compact Framework (ya veremos en ese artículo las diferencias entre las diferentes versiones del .NET CF, por el momento continuemos).

Veamos las plataformas soportadas “out-of-the-box” por estos entornos de desarrollo:

  • Visual Studio 2005
    • Pocket PC 2003 SE
    • Smartphone 2003 SE
  • Visual Studio 2008
    • Pocket PC 2003
    • Windows Mobile 5.0 Pocket PC R2
    • Windows Mobile 5.0 Smartphone R2

Adicionalmente, Microsoft ha publicado un conjunto de herramientas adicionales (de libre disponibilidad) conforme las ha ido liberando las nuevas plataformas para extender el soporte de estos entornos de desarrollo. Y es aquí donde surge un conjunto de siglas que inicialmente resultan un poco confusas: SDK, DTK, DRK. Ampliemos un poco el artículo al respecto publicado en el blog de Windows Mobile (hoy conocido como Windows Phone Blog).

Los SDKs (Kits de Desarrollo de Software) contienen precisamente las herramientas, los emuladores, la documentación y ejemplos que amplían Visual Studio para soportar una versión específica de la plataforma de Windows Mobile. Así tenemos actualmente los siguientes SDKs disponibles:

Como se detalla en las descripciones de estas descargas, los SDKs para WM5 solamente son compatibles con Visual Studio 2005 puesto que 2008 ya incorpora una versión actualizada de estas herramientas. Por su parte, los SDKs de WM6 son compatibles con ambas versiones de Visual Studio.

Los DTKs (Kits de Herramientas del Desarrollador) son la forma en la cual Microsoft ha distribuido las herramientas para soportar el desarrollo para dispositivos con Windows Mobile 6.5. Estas herramientas per se no son suficientes, pues al ser 6.5 una mejora sobre la plataforma 6.0 existente, Microsoft brinda estas herramientas como adicionales a los SDKs de Windows Mobile 6.0 para, en conjunto, brindar el soporte a la nueva plataforma 6.5.

OK hasta este punto hemos visto el soporte a las versiones 2003, 5.0, 6.0 y 6.5 de Windows Mobile. ¿Y para la versión 6.1? Pues bien, esta versión (así como la 6.1.4) no presentan diferencias respecto a 6.0 desde el punto de vista del desarrollador (esto es, no hay APIs adicionales o nuevas herramientas que presenten un cambio en cuanto a la experiencia en el desarrollo). Los cambios principalmente están dados en diferentes form factors o resoluciones de pantalla soportadas y en características del software, por ejemplo, en el caso de 6.1.4, la incorporación del nuevo Internet Explorer Mobile 6. Entonces, si vamos a desarrollar para estas versiones de la plataforma, debemos utilizar los emuladores correspondientes. Lo mismo aplica si deseamos, por ejemplo, probar una aplicación que muestre su IU en el idioma del dispositivo (localización). Deberíamos probar nuestra aplicación utilizando los emuladores con la plataforma en los idiomas deseados.

Si revisan todas las descargas mencionadas hasta aquí, siempre se refieren a las ediciones Standard y Professional, pero en no hay descarga para la edición Classic. Si volvemos al cudro de las ediciones disponibles según las características del dispositivo, vamos a ver que las características de pantalla táctil determinarán la edición de SDK a utilizar. Por ejemplo, ya sea que deseemos desarrollar para las ediciones Professional o Classic, descargaremos las herramientas de Professional, y para la plataforma Standard descargaremos las herramientas de Standard.

Con pantalla táctil

Sin pantalla táctil

Con capacidades de teléfono

Pocket PC Phone Edition
Professional

Smartphone
Standard

Sin capacidades de teléfono

Pocket PC
Classic

[no existe]

  Herramientas Professional Herramientas Standard

El siguiente concepto es el de DRK (Kit de Recursos del Desarrollador). Se trata de un DVD con una compilación de contenido (los SDKs, PPTs y videos de webcasts, laboratorios, ejemplos y herramientas adicionales, etc…) para empezar a desarrollar en la versión correspondiente de la plataforma. Así se han distribuido versiones del DRK para Windows Mobile 5.0, 6.0 y 6.5. Este DVD se podía adquirir pagando los gastos de envío (gratis si estabas en USA) y, particularmente en el caso de 5.0, se puso de libre disponibilidad una descarga alternativa con la mayoría del contenido (a excepción de videos y el contenido más pesado del DVD). Lamentablemente esa descarga ya no está disponible, pero llegué a descargarlo en su momento y fue de gran utilidad. Posteriormente en un evento de Microsoft me regalaron una copia del DRK de 6.0. Muy útil también y con gran parte del contenido actualizado. El problema con la versión de 6.5 es que existe el link en el sitio de MSDN (aquí) donde supuestamente podríamos ordenar el kit, pero hace unos meses reemplazaron el contenido de esa página con material de SQL 2008 R2 (fíjense en el título, que se ha mantenido) y ya no se puede acceder al formulario para adquirir el DRK. Una pena en verdad.

Windows Mobile 5 Developer Resource Kit     Windows Mobile 6 Developer Resource Kit

Bueno, y para cerrar este artículo, recordar que todos estos SDKs tienen como pre-requisito un aplicativo que permita sincronizar el dispositivo móvil (o el emulador) con la PC. Qué aplicativo utilicemos dependerá de la versión del Sistema Operativo de nuestra PC. Para Windows XP o Windows Server 2003 debemos utilizar ActiveSync 4.5, y para Windows Vista, Windows Server 2008 o Windows 7 debemos utilizar el Centro de Dispositivos de Windows Mobile.

Windows Mobile Device Center 6.1

Nuevamente espero que este artículo sea de utilidad para toda la gente que quiere involucrarse en el desarrollo de aplicaciones para dispositivos móviles con la plataforma .NET. El siguiente artículo en la serie presentará algunos detalles acerca de las diferentes versiones del .NET Compact Framework disponibles. Igual seguiré atento al feedback de la comunidad para poder mejorar lo que se deba o profundizar en algún tema que por ahí haya quedado suelto. Saludos. Hasta la próxima. Nos leemos!

4 thoughts on “Cuestiones básicas de desarrollo para dispositivos móviles con .NET – Parte II

  1. En verdad muy buen articulo

    me ha servido de mucho.

    Muchas gracias…

    aunque hoy agosto/2010 acabo d leer y tu q lo has escrito en 2009 jeje

    aunq las preguntas y dudas no dejan d ser…

    me pueder dar tu correo

    o agregarme tu? (***********@hotmail.com)

    gracias

    atte

    Lizzy

  2. disculpa tengo el visual basic expres 2008 y de sistema operativo tengo windows 7 a 32 bits y los programas que he descargado me dicen que no son compativles con mi sistema operativo q solucione problemas de compativilidad aligen podria ayudarme para saber que ocupo para poder hacer aplicaciones para moviles tengo conocimientos de visual basic 2008 pero no en moviles ayuda!!!! mi correo es resident_pt@hotmail.com se los agradeceria mucho

  3. Hola, quisiera saber si me pueden ayudar.
    Estoy trabajando con un dispositivo Datalogic Elf.
    LO que quiero es activar y desactivar el laser de esta capturadora mediante Visual Studio 2005 y dependiento del objeto que tenga el foco, activar o descativar el laser. Por favor.

    De ante mano gracias.

    Saludos.

Responder a anonymous Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *