La nueva versión de Windows 8, así como su interfaz Metro, representan un cambio bastante radical a la hora de desarrollar aplicaciones. Microsoft ha apostado por dar cierta uniformidad en todas las aplicaciones, de tal manera que tanto el usuario como el desarrollador se sientan cómodos a la hora de crear y consumir contenidos. Si bien es cierto que se puede seguir trabajando como hasta la fecha, creando aplicaciones con nuestras diferentes ventanas y nuestro marco (véase Photoshop), las nuevas herramientas dan la oportunidad de crear un nuevo tipo de aplicaciones completamente diferente, y más parecido a las aplicaciones que se pueden encontrar en un tablet.
¿El café, solo o con azúcar?
La principal ventaja introducida en la nueva API de Windows, llamada WinRT es la posibilidad de aprovechar cualquiera que fuera nuestro background técnico. Por lo tanto, si viene de .net se puede usar usar C# y Visual Basic para el código de la aplicación, y XAML (eXtensible Application Markup Language), por otro lado si viene de programar aplicaciones Win32 de la vieja escuela, se podrá reutilizar conocimiento de C/C++ usando también XAML para la maquinación, finalmente si el origen es desarrollo web todo el Javascript y HTML/CSS aprendido permitirá, también, crear aplicaciones nativas para Metro. Para ello se encuentran disponibles con las herramientas de desarrollo clásicas de la plataforma, que son Visual Studio Express y además de contar con una versión especial de Expression Blend para la parte gráfica.
¿Qué podemos aprovechar?
Una de las cosas que se ha intentado con la interfaz Metro ha sido eliminar botones e interacción secundaria de la ventana principal, y dejar toda la pantalla para los contenidos, delegando esas funciones a las Charms y a la Application Bar, de fácil acceso desplazando el dedo a las esquinas de la aplicación (si estamos usando un Tablet) o bien con atajos de teclado y esquinas de la pantalla si somos usuarios de teclado y ratón.
- Las charms se muestran desplazando el cursor a la esquina inferior derecha.
- La application bar se muestra haciendo click derecho en cualquier parte de la aplicación.
- Las charms se muestran usando Win + Z
- La application bar se muestra usando Win + C
Charms
Una de las principales novedades de Windows 8 es la introducción de las Charms, barras de herramientas que vienen a ser menús contextuales, manteniendo la interfaz consistente. En la versión incluida en la developer preview se incluyen las siguientes:
- Search: Buscar en nuestra aplicación, en otras aplicaciones y en el ordenador en general.
- Share: Compartir contenidos de nuestra aplicación con otras aplicaciones.
- Start: Volver al menú inicio.
- Devices: Conectar con otras aplicaciones o dispositivos, como pudiera ser una impresora.
- Settings: Configurar las opciones de nuestra aplicación, así como mostrar las opciones de apagado, Notificaciones, WiFi, sonido o brillo de la pantalla.
Application Bar
El menú contextual se ha desplazado a los bordes superior e inferior, de tal manera que se puede acceder a la información contextual de nuestra aplicación. La información y la apariencia de esta barra es personalizable, aunque lo que se recomienda es que los iconos se sitúen a ambos lados de la pantalla en vez de centrarlos. Como se está enfocando el objetivo principal a usuarios de tablet, la posición natural será con ambas manos a los lados de la pantalla, así que querremos tener las opciones accesibles de manera cómoda.

Activar el soporte de Charms para nuestra aplicación
Si desarrolla en Visual Studio 11 una aplicación Metro, se encontrará un nuevo tipo de fichero llamado package.appxmanifest. Al abrir el fichero encontrará una ventana muy similar a la de opciones del proyecto, en la que se pueden seleccionar:
- Nombre, descripción, logos, pantallas de carga y orientación por defecto para nuestra aplicación.
- Capacidades: ¿A qué capacidades del sistema o dispositivos necesita acceder nuestra aplicación? Como ejemplo podemos usar GPS, webcam, o acceso al chup NFC que incorporen los tablets. Hay que tener en cuenta que el usuario puede bloquear estas capacidades desde el menú preferencias.
- Declaraciones: Podemos declarar que nuestra aplicación posee capacidades para búsqueda, o como destino para compartir o enviar.
Implementar el soporte de Charms en nuestra aplicación
Una vez activado el soporte, Windows 8 sabrá que la aplicación puede responder a las diferentes acciones, ahora falta implementar dicho comportamiento. Para ello tenemos a nuestra disposición en Visual Studio varias plantillas que harán la tarea más llevadera, simplemente agregar la página a nuestro proyecto y tendremos la funcionalidad implementada, solamente faltaría agregar la lógica relativa a nuestra aplicación, que es algo que, de momento, Visual Studio no hace ;)
Implementar Application Bar
La application Bar se implementa como un control adicional, es un contenedor en el caso de los proyectos javascript (usando HTML para el maquetado), y si se usa XAML veremos que es un control. Se sitúan normalmente o bien en el fichero App.xaml (para un soporte global) o bien en las diferentes páginas, si queremos tener una App Bar diferente para cada sección.
Ejemplos
En la Windows Developer Preview se pueden encontrar varios ejemplos de uso de estas opciones, merece la pena echarle un vistazo y mirar un poco más allá del contenido de las aplicaciones que se incluyen por defecto.
Más información: http://dev.windows.com