Inicio- Presentaciones- Artículos- Utilidades- Links- Contacto- Acerca de...

Publicado el 10/Jul/2007

Hace un par de días he recibido mi copia de libro Microsoft Mobile Development Handbook editado por Microsoft Press del cual tuve el placer de revisar algunos capítulos mientras lo estaban escribiendo.

El libro lo han escrito Andy Wigley, Daniel Moth y Peter Foot, tres conocidos MVPs en desarrollo para dispositivos cuando iniciaron el libro aunque ahora Daniel Moth ha dejado de serlo ya que ha pasado a ser empleado de Microsoft en el área de movilidad.

Es un libro bastante completo (más de 600 páginas) que cubre casi todo lo relacionado con desarrollo para dispositivos Windows Mobile, centrándose en .NET Compact Framework 2.0 y ofreciendo una introducción a .NET Compact Framework 3.5 que vendrá con Visual Studio 2008, tratando temas de pruebas unitarias, LINQ y WCF para dispositivos.

En su primera parte se centra en lo 'esencial' del desarrollo de aplicaciones móviles, aunque muchos de los temas se pueden aplicar a cualquier otro entorno .NET; en concreto el capítulo 4 sobre pruebas de las aplicaciones y gestión de excepciones.

La segunda parte trata temas más concretos sobre los retos que presentan las aplicaciones móviles hablando sobre temas de red, threading, seguridad y criptografía, acceso a datos, gráficos, controles, etc...

Existe un capítulo, el capítulo 5, dedicado al rendimiento de .NET Compact Framework que explica bastante bien cómo funciona, entre otras cosas, el recolector de basura de .NET Compact Framework y cómo usar las herramientas existentes para medir el rendimiento de las aplicaciones. Este capítulo, aparte del interés que tiene para los desarrolladores de aplicaciones móviles, también puede ser de especial interés para los desarrolladores de juegos basados en XNA ya que esta plataforma se basa en .NET Compact Framework.

En definitiva Microsoft Mobile Development Handbook es un libro bastante recomendable para todos aquellos que quieran desarrollar aplicaciones para dispositivos Windows CE o Windows Mobile usando .NET Compact Framework escrito por gente que conoce bastante bien la plataforma.

Publicado el 04/Jul/2007

Recientemente se ha publicado en un blog de sobre de Windows Mobile escrito por dos evangelistas de la plataforma (o eso creo) una serie de links de utilidad para todos aquellos que se estén iniciando en el desarrollo de aplicaciones para esta plataforma. Recopilan links desde las novedades de Windows Mobile 6 hasta dónde encontrar información en caso de que seas un programador de Palm u otra plataforma; interesante tenerlo guardado por si acaso.

Archivado como: Windows Mobile
Publicado el 31/May/2007

Hace un rato he vuelto del Google Developer Day 2007 donde nos han estado contando las novedades que los chicos de Google tienes preparadas. Allí me encontré con Miguel Jimenez y un compañero suyo de Ilitia, Pedro Pablo. Junto con ellos he asistido a varias sesiones.

El evento ha sido global; empezó ayer en Australia y Japón y estará terminando ahora en USA. Han querido hacer algo un poco diferente, realizando dos conexiones en directo con el evento de Londres y el de USA (una por la mañana y otra al final de la tarde) intentando dar la idea de globalidad. A primera vista eso parece una biena idea; pero al final ha resultado ser, en mi opinión, una repetición de la sesión de presentación, de manera que hemos tenido aproximadamente la misma charla tres veces. Primero la de Madrid, a continuación la de Londres y al final la de USA. También estaba previsto que los dos fundadores (o al menos uno) contara algo en la sesión inicial de USA, pero al final no se han presentado; pero bueno, se lo perdonaremos por ser la primera que hacen un evento de este tipo.

Luego, después de la comida, había una selección de charlas técnicas donde ha habido un poco de todo. Por cierto, muchas de las sesiones se han grabado y se pueden ver online. La primera a la que hemos asistido ha sido un taller de mapas donde hemos tocado un poco las novedades que está incluyendo esta gente, bastante interesante por cierto. Cuando practique con ello, si se me da bien, contaré algo. Luego tenía previsto asistir a una de programación con KML, el lenguaje XML de Google Maps y Google Earth, que me afectan directamente ahora por un proyecto que estoy haciendo, pero se suspendió sin sabe por qué, con lo que asistimos a la sesión de Google Gears. A esta nueva aplicación ya han hecho referencia en Geeks, aunque no es solo una aplicación para poner offline las aplicaciones de Google, como comenta El Bruno, sino que es una plataforma para que cualquiera pueda dar funcionalidad offline a su aplicación AJAX (Google Reader es la primera, eso si). El sistema se monta como un plugin del navegador y las aplicaciones Web que lo quieran usar lo tienen disponible desde ese momento. En esta charla hemos tenido la suerte de contar como ponente con Chris Wetherell, creador de Google Reader y uno de los programadores de Google Gears. Finalmente he asistido a una que trataba del API AJAX de búsqueda, que se me ha quedado un poco simplona.

En general el evento ha estado bien, aunque se me ha quedado un poco corto técnicamente. Parece que las sesiones más 'duras' (y por tanto interesantes en mi opinión) han sido las de los talleres de GData, impartidos entre otros por Ricardo Varela, pero la verdad, unas sesiones en las que había que meterse toda la tarde con eclipse y python pues como que no me apetecían mucho ;-), sobre todo porque no podría haber asistido a ninguna otra.

Archivado como: Eventos | Google
Publicado el 30/May/2007

Por si aún no os habéis enterado, Microsoft acaba de lanzar 'Surface Computing'.

Si no lo habéis visto, lo primero es que os paséis por On10 para ver una demo.

Como alguien que tiene algo de experiencia en sistemas interactivos 'alternativos', este proyecto me parece bastante interesante. Se basa en un reconocimiento óptico (mediante un par de cámaras digitales) de 'objetos', ya sean los dedos del usuario u otros objetos que puedan llevar códigos que el sistema es capaz de reconocer como únicos. Al ser un reconocimiento visual, se pueden reconocer múltiples objetos simultáneamente. Una vez detectados, sólo queda 'cuadrar' su posición con respecto a una imagen generada por ordenador y proyectarla en algún sitio útil, en este caso en una mesa, teniendo así una Superficie interactiva (de ahí Surface Computing).

La parte más interesante, en mi opinión, son las posibilidades que se abren para las aplicaciones que se van a poder crear. Hay que tener en cuenta que no existe ni teclado ni ratón lo que va a obligar a cambiar mucho la forma en la que se diseñan los interfaces de las aplicaciones. En las demos que se ven en el vídeo la parte visual de las aplicaciones está hecha con WPF. Por otro lado, resulta especialmente interesante la manera de mezclar objetos reales, como los teléfonos o los vasos, con los objetos 'virtuales'. Con imaginación se podrían hacer cosas espectaculares.

El principal problema de este sistema inicialmente va a ser el coste, estimado inicialmente en más de 10.000$ / unidad ya que hay que combinar un proyector, ya caro de por sí, un ordenador, las cámaras, la mesa (que hace las veces de pantalla) y el software; esperemos que vaya bajando porque yo *necesito* uno ya. ;-)

Archivado como: Microsoft
Publicado el 27/Mar/2007

Siguiendo la línea que os comentaba en el post anterior donde se mostraba un ejemplo que nos contaron en el pasado MVP Summit (en ese caso acerca de SQL CE Sync Services del que, por cierto, se ha publicado la segunda parte), Mark Prentice publica ahora un ejemplo que nos mostraron sobre WCF para .NET Compact Framework 3.5.

WCF para Compact Framework se va a suministrar con dos canales de comunicación, uno basado en HTTP (ó HTTPS) y otro basado en Exchange Server. Se pueden usar  las versiones 2003 SP2 o 2007 de Exchange La versión 2007 dispone de algunas características adicionales, como la posibilidad de usar aplicaciones de escritorio que 'hablen' con el servidor Exchange mediante Servicios Web para mandar mensajes a los dispositivos. En este caso la comunicación con los dispositivos usará entonces el correo electrónico como base. El dispositivo recibirá un correo mediante Server ActiveSync con un formato determinado que la aplicación podrá capturar, no apareciendo así el mensaje en el buzón de correo del usuario. Esto causó bastantes preguntas ya que no todo el mundo dispone de Exchange y las necesidades de la gente pueden variar bastante, como, por ejemplo, ¿qué hacer si se quieren usar diversas direcciones de email para diferentes aplicaciones cuando ActiveSync sólo permite disponer de una cuenta configurada contra Exchange?

Si ninguno de estos canales nos sirve para nuestra aplicación, siempre se puede extender el sistema y usar el mecanismo de comunicación que nos interese/inventemos. La ventaja que tendremos es que desde el punto de vista del código cliente la utilización será similar, escondiéndose la implementación del canal para que sea transparente.

Publicado el 22/Mar/2007

Steve Lasker acaba de publicar un screencast sobre el nuevo motor de sincronización de datos para la nueva versión de SQL CE (la nueva versión futura v3.5 no la versión actual v3.1). En esta demo muestra cómo usar Visual Studio Orcas junto con el Sync Designer para crear una aplicación que utiliza de manera conjunta datos locales (sincronizados con una base de datos SQL Server) y datos en vivo, consultando directamente al servidor.

Esta demo es parte de una aplicación de ejemplo más completa que nos mostró en el MVP Summit de la semana pasada y que fue, en mi opinión, de lo más interesante que vimos.

El motor de sincronización se puede descargar para funcionar con Visual Studio 2005 (incluyendo SQL CE 3.5 que funciona en paralelo con SQL CE 3.1) pero, naturalmente, sin el diseñador que se ve en la demo. Si se quiere usar el diseñador, hay que descargarse la última CTP de Visual Studio Orcas.

Archivado como: SQL CE
Publicado el 20/Mar/2007

Como complemento a la nueva versión de SQL CE (la base de datos compacta pensada para usar principalmente en dispositivos Windows Mobile), han liberado recientemente una herramienta que puede resultar muy interesante en ciertos casos.

Como la mayoría que haya usado SQL CE sabrá, SQL CE se puede sincronizar con bases de datos SQL Server. La base de datos SQL CE se conecta con el servidor SQL Server vía HTTP y permite sincronizar su contenido con el servidor.

Según se publica en el blog de SQL CE, esta nueva herramienta permite realizar una sincronización similar pero con bases de datos Access. Esto permite que, por ejemplo, dispongamos de una aplicación móvil con SQL CE y, al conectar el dispositivo móvil al PC, la base de datos del dispositivo se sincronice con una base de datos Access en nuestro PC.

Esta sincronización se realiza con las siguientes características:

  • La conversión de tipos de datos entre SQL CE y Access se realiza en el momento de hacer la sincronización.
  • Es necesaria una conexión de ActiveSync para que la sincronización se produzca.
  • No es necesario instalar nada en el dispositivo. Simplemente hay que instalar software en el PC.
  • La sincronización se basa en RDA (RDA es uno de los métodos de sincronización disponibles; en SQL Server se cuenta con RDA y Merge).
  • Una aplicación existente en una PDA se puede hacer que sincroniza con SQL Server o Access simplemente cambiando los parámetros de sincronización, pero no es necesario modificar nada más.
  • No existe resolución de conflictos.

 

Aún no la he usado mucho, pero tengo en mente un par de casos donde me podría resultar útil, ya veremos...

Si la queréis probar está disponible aquí.

Archivado como: .NET | Microsoft | Windows Mobile | SQL CE
Publicado el 07/Mar/2007

Si sois como yo y ya usáis Windows Vista como sistema principal, habréis visto que, incluso después de instalar el Service Pack 1 de Visual Studio 2005, éste se sigue quejando al arrancar de no ser compatible con el S.O. Hasta ayer existía un parche en beta que ya han liberado completamente y que podéis descargar e instalar.

Es necesario que antes de instalar este parche hayáis instalado el Service Pack 1 de Visual Studio.

Archivado como: Microsoft
Publicado el 07/Mar/2007

Desde el viernes pasado están disponibles los SDK de Windows Mobile 6. Vienen en versión Pocket PC y Pocket PC Phone (a partir de ahora conocidos como Windows Mobile Professional) y en versión SmartPhone (ahora conocido como Windows Mobile Standard).

La base del sistema operativo de estos dispositivos es el nuevo Windows CE 6, que trae bastante mejoras con respecto a la versión anterior. Corrección: La base sigue siendo Windows CE 5. Windows CE 6 y Windows Mobile 6 se desarrollaron en paralelo con lo que Windows Mobile 6 no pudo usar Windows CE 6. Habrá que esperar a nuevas versiones de Windows Mobile para tener el nuevo CE.

También podéis leer las novedades desde el punto de vista del desarrollo que proporcionan estos dispositivos aquí.

De momento, y hasta que haya dispositivos Windows Mobile 6 reales a la venta, nos tendremos que conformar con estos SDKs y sus emuladores.

Archivado como: Windows Mobile