II Evento CatDotNet – Primera parte

II Evento Catdotnet

El pasado sábado 28 de enero se realizó, en Barcelona, el segundo evento catdotNet, dedicado a la exposición de temas actuales relacionados con la plataforma .NET y otras tecnologías de Microsoft. Aunque ha pasado una semana desde entonces, no quería dejar de escribir una breve reseña sobre lo acontecido en el encuentro.

II Evento CatDotNet - Asistentes

El evento lo abrió Eduard Tomàs con la disertación Cómo realizar una app metro style con C# y Expression Blend. En Windows 8 tendremos dos categorías de aplicaciones. Por una parte, existirán las aplicaciones de escritorio (Desktop) de toda la vida, en un entorno visual muy similar al de Windows 7. Por otra, existirán (en realidad, coexistirán) las aplicaciones Metro style, optimizadas para la interacción táctil y pensadas para ser usadas en dispositivos móviles tipo tablets. Eduard se centró en estas últimas, y en describir una de las vías que tendremos los desarrolladores para programarlas: la dualidad XAML-C#.

Eduard Tomas

En Modo Desktop seguiremos programando con .NET, como en Windows 7, y las aplicaciones que corran allí serán capaces de ejecutarse en Windows 8. Las aplicaciones Metro style, que ocuparán siempre toda la pantalla (full screen), como sus parientes de Windows Phone 7, requieren un nuevo modelo de desarrollo.

Es aquí donde entra en escena WinRT. Haremos la interfaz gráfica con XAML (también se podrá hacer con HTML5 y CSS3), y en el code behind usaremos C# u otro lenguaje como VB.NET para realizar llamadas a WinRT, que se expondrá como si fuesen clases reales de .NET. Básicamente será como lo que hoy hacemos con WPF y Silverlight.

Eduard Tomas - Aplicaciones Metro en C# y XAML

Eduard enfatizó en este último punto. Explicó que de Silverlight a Metro hay un paso. Que XAML es muy parecido. Y que para el code behind tendremos que aprender WinRT.

En mi anterior post puse un enlace a The WinRT Genome Project, donde se realiza una comparación entre Silverlight y WinRT. Allí vemos que algunas cosas quedarán fuera, que la mayor parte de Silverlight quedará incluida en WinRT, y que tendremos muchas cosas nuevas para estudiar y aprender.

Microsoft se esforzó con Windows Phone 7 en ofrecer herramientas que facilitaran la fluidez de las aplicaciones mientras son ejecutadas. En Windows 8 también dispondremos de herramientas para dotar de fluidez a las aplicaciones Metro. Esencialmente dispondremos de mecanismos simples para realizar llamadas asíncronas. C# 5 nos ofrece las directivas async y await para que las llamadas a métodos asíncronos sea tan sencilla como una llamada a métodos síncronos.

Eduard Tomas - async y await

Eduard utilizó la versión 11 de Visual Studio, que viene en la preview de Windows 8, para mostrarnos una sencilla aplicación de WinForm que realiza llamadas asíncronas a un método que podría bloquear la interfaz gráfica del programa mientras se ejecuta. Naturalmente, tal bloqueo no ocurre y la interfaz continúa respondiendo fluidamente. Justo lo que se pretende con las directivas async y await. Por cierto, el orador no dejó pasar la ocasión y destacó que estábamos viendo una aplicación de Windows Form en Windows 8.

Luego de la demostración, conocimos cómo será el Ciclo de Vida de una aplicación Metro. En cada momento sólo se ejecutará una aplicación. Ésta puede pasar al estado Terminada, o puede pasar a Suspensión, desde donde también podría terminar su ejecución. La sensación de déjà vu fue inmediata. Ya tenemos ese esquema en Windows Phone 7.

Eduard Tomas - Ciclo de vida de una aplicación

En el teléfono existen algunos casos especiales que son excepciones. Por ejemplo, una aplicación que reproduzca archivos de música puede pasar a un segundo plano y ser suspendida. Sin embargo, si utiliza el servicio adecuado puede seguir reproduciendo la música mientras en primer plano se ejecuta otra aplicación.

Es el caso de easyTube, una excelente aplicación que disfruto y recomiendo. Permite ver, descargar y almacenar vídeos de Youtube en el teléfono. Pero en el caso que nos ocupa, podemos reproducir el sonido de los vídeos de forma contínua, uno tras otro, mientras ejecutamos otra aplicación. En cuanto a Windows 8, no quedó claro en la presentación si existirán este tipo de excepciones, aunque yo apostaría con los ojos cerrados a que sí.

Por último, vimos cómo se integrarán las aplicaciones Metro con la pantalla de inicio. Tendremos los Lives Tiles, muy parecidos a los que ya tenemos en el teléfono. Además de servir de punto de inicio de la aplicación, como sucede con los viejos iconos, es un espacio dinámico que puede mostrar información variable, incluso si la aplicación no se está ejecutando.

En ellos veremos los badges, pequeños iconos o números que nos informan de algún suceso. Por ejemplo, en el teléfono, cuando recibimos correos o mensajes, aparecen esos numeritos en los correspondientes Live Tiles indicándonos que los hemos recibido y cuántos han entrado.

Eduard Tomas - Integración con home screen

También existirán notificaciones (toasts), parecidas a las que aparecen en el área de notificación de Windows 7, que pueden enviar las aplicaciones, incluso aunque no se estén ejecutando (Scheduled Toasts).

A continuación intervinieron otros ponentes. Alex Casquete nos explicó cómo desarrollar aplicaciones Windows Metro Style con HTML5, CSS3 y Javascript. Toni Recio habló de Natural User Interfaces, Microsoft Kinect y WPF, y realizó una divertida demostración. Y por último, Rodrigo Corral e Ibon Landa nos hablaron sobre Optimización y rendimiento de aplicaciones con Visual Studio y Windows Azure.

Debido a la extensión del evento, he decidido dejar para futuras entradas las reseñas de estas tres intervenciones. Todas resultaron de gran calidad e interés, y considero que, por méritos propios, cada una merece un post en exclusiva.

Nota: Fotos tomadas con mi teléfono móvil.