El 11 de octubre tuvo lugar la presentación mundial de Windows Phone 7, la nueva propuesta de Microsoft en el terreno de los smartphones. Anunciado en la pasada edición del Mobile World Congress en Barcelona, Windows Phone 7 ha visto como en este tiempo no sólo se iban mejorando sus características, sino que, también, se iba incrementando el desarrollo de aplicaciones. Para que conozcan más de cerca las herramientas de desarrollo de aplicaciones para Windows Phone 7, les ofrecemos un repaso a las mismas en estas páginas.

No cabe duda de que la decisión de Microsoft de crear un nuevo sistema operativo para dispositivos móviles partiendo desde cero nos ha sorprendido desde los primeros contactos que hemos tenido con él.

Windows Phone 7 ha introducido un gran número de novedades basadas en un espíritu de innovación que rompa totalmente con la naturaleza de interacción actual con los dispositivos Windows Mobile 6.x. Todas estas novedades tienen un núcleo común, debe basarse en la experiencia del usuario final, es decir “user-centric design”, por lo que debe facilitar las tareas más habituales, debe ser intuitivo, ágil y transmitir sensaciones agradables al usuario.

Éstas son las bases de un diseño que ha revolucionado todo el sistema operativo desde su base hasta su interfaz de usuario.

Homogeneización de la plataforma de movilidad

Microsoft ha hecho un gran esfuerzo a la hora de homogeneizar su plataforma de dispositivos móviles limitando las personalizaciones de los fabricantes obligándoles a cumplir unas bases comunes en cuanto a requisitos hardware. Todos ellos están obligados a cumplir unas especificaciones técnicas que deciden el número de botones del dispositivo, su función y, yendo mucho más allá, obliga a cumplir unas especificaciones de hardware mínimo decidiendo cual va a ser la velocidad del procesador, la cantidad de memoria disponible para el sistema operativo y para el usuario, así como el hardware de localización que debe incluir, sensores del dispositivo, requisitos de la pantalla y un largo etcétera.

Aunque en un primer momento pueda parecer una medida altamente restrictiva, Microsoft consigue así homogeneizar la experiencia final de todos sus usuarios frente a sus dispositivos, al contrario de como ocurría en la actualidad, donde cada fabricante decidía estos aspectos y personalizaba el sistema operativo sin limitaciones, lo que creaba un gran abanico de entornos y diferentes rendimientos finales del dispositivo.

Esta medida consigue, no sólo mantener una experiencia final muy similar en todos los dispositivos que integren su sistema, sino que simplifica el despliegue de actualizaciones y permite igualmente mantener de manera centralizada y controlada las correcciones necesarias en el sistema.

Pero la intención de Microsoft a la hora de innovar en esta nueva plataforma móvil no termina aquí. Otra de las grandes novedades que incorpora Windows Phone 7 afecta a aquellos que estamos del lado del desarrollo.

Si hasta ahora la forma de desarrollar una aplicación para Windows Mobile pasaba por el uso de las diferentes versiones de Compact Framework o por la programación de aplicaciones nativas usando C++, esto ha cambiado radicalmente. Ya no se permite el desarrollo de aplicaciones nativas, así como tampoco se permite la ejecución de aplicaciones desarrolladas con Compact Framework.

Esta decisión no es arbitraria ni banal, ya que todo el sistema operativo se ha reescrito desde cero y por lo tanto se ha roto la retro-compatibilidad con las diferentes versiones de los sistemas Windows Mobile. Esto obliga a reescribir todas nuestras aplicaciones para que se puedan ejecutar sobre esta nueva plataforma.

Pero entonces, ¿qué necesitamos usar para poder desarrollar aplicaciones para Windows Phone 7? Una respuesta sencilla. Depende del tipo de aplicación que queramos desarrollar. Microsoft ha dividido sus áreas de desarrollo para Windows Phone en dos tipos de aplicaciones. Por un lado, se encuentran las aplicaciones genéricas, que desarrollaremos con Silverlight para Windows Phone y, por el otro lado, tenemos los juegos, desarrollados con XNA.

Dos tecnologías para dos tipos de aplicaciones donde priman aspectos distintos como el rendimiento y altas capacidades de gráficos o la simplicidad en el desarrollo de aplicaciones.

Herramientas de desarrollo

Para ubicarnos mejor, veamos más en detalle cada una de las tecnologías y las herramientas que podemos usar para desarrollar para Windows Phone 7.

Nuestro primer contacto parte de estas herramientas que debemos instalar en nuestros equipos para iniciar un desarrollo, Microsoft Development Tools for Windows Phone (msdn.microsoft.com/en-us/windowsmobile).

Este conjunto de herramientas consta de:

- Microsoft Visual Studio 2010 Express for Windows Phone.

- Microsoft Expression Blend for Windows Phone.

- XNA Game Studio 4.0.

- Windows Phone Emulator.

- Silverlight SDK.

- .Net Framework 4.0

Las herramientas que conforman este paquete son totalmente gratuitas, lo que nos permite crear aplicaciones para esta nueva plataforma sin límites y sin gastos de licenciamiento. Una medida que ayudará, sin duda, a la adopción de la misma por parte de un gran número de desarrolladores que vienen de la versión anterior o que quieren iniciarse en la nueva plataforma.

El objetivo es claro, dar un gran valor añadido a la plataforma a través de aplicaciones de terceros que aumenten la productividad de la plataforma y así satisfacer el amplio abanico de necesidades que el usuario final pueda tener en su día a día.

Si bien Visual Studio 2010 Express es el denominador común de todas ellas, ésta se ve complementada con otras herramientas que nos ayudarán en diferentes aspectos del desarrollo adaptadas a las necesidades concretas del tipo de aplicación que vayamos a desarrollar.

El entorno de Visual Studio es ampliamente conocido, por lo que no entraremos en detalle en sus características si no que presentaremos aquellas que son más específicas.

Silverlight y sus herramientas

Silverlight es una tecnología creada en un principio para el desarrollo de aplicaciones ricas (RIA), pero desde sus primeras versiones ha ido creciendo en funcionalidades a la vez que se ha ido adaptando a nuevas y diferentes plataformas, abarcando entornos de escritorio, sistemas operativos móviles como Symbian o plataformas aún más específicas como dispositivos embebidos hasta llegar a Windows Phone 7.

Silverlight no es más que un subconjunto de las funcionalidades que nos proporciona Windows Presentation Foundation, la tecnología de Microsoft para el desarrollo de aplicaciones de escritorio para Windows.

Silverlight está claramente enfocado al desarrollo de aplicaciones que potencien la experiencia de usuario haciendo uso de gráficos vectoriales, imágenes, vídeos, animaciones y centradas en el modelo de interacción. Para la creación de aplicaciones Silverlight y para el diseño de las mismas, Microsoft pone a nuestra disposición una herramienta centrada en el perfil de diseñador de interfaces de usuario, Microsoft Expression Blend.

Expression Blend dispone de una serie de herramientas que están pensadas para facilitar las tareas de diseño de interfaces pero no es lo único que nos permite realizar. Se trata de una herramienta muy potente que dispone de todo lo necesario para crear grandes experiencias de usuario.

Expression Blend dispone de herramientas de creación y edición de e