Microsoft University Tour 2007


Este jueves tuvo lugar una conferencia del Microsoft University Tour 2007 en la Escuela Técnica Superior de Ingeniería de la Universidad de Santiago. Como el evento estaba centrado en .NET, en el trabajo nos recomendaron ir. En esta entrada os contaré mis impresiones, pero aviso ya de antemano: voy a ser un poco técnico.

El salón de actos donde se celebró la conferencia se hizo demasiado grande para las 40-50 personas que fuimos allí. Aunque habían prometido camisetas y CDs al final de la conferencia, la asistencia no fue demasiado alta.

En la primera media hora de la conferencia, una evangelista de Microsoft se dedicó a describirnos por encima las bondades de .NET. Lo de evangelista es una profesión que suena un poco fuerte, pero creo que es algo más común en Estados Unidos. No es más que un nombre rimbombante para alguien que se dedica a dar conferencias e intentar venderte un producto.

De esta primera charla, me sorprendió la parte en la que explicaban lo que no era .NET. Según ella, .NET no pretende comerse a Java, .NET no pretende acabar con Linux y, aún más importante, .NET no es un instrumento de Bill Gates para dominar el mundo. Con esto me quedó claro que Microsoft es consciente de todas las críticas que recibe desde la comunidad de software libre y que, en esas lides, va un paso por delante de ellos.

La estrella central de .NET es Visual Studio 2005, quizás uno de los mejores programas de Microsoft y un excelente IDE de programación. Está tan integrado con .NET que es difícil entender .NET sin la ayuda de Visual Studio, lo cual es, en mi opinión, un arma de doble filo.

Tras un repaso por encima de la plataforma .NET, un representante del Club .NET de Albacete (¿o era Oviedo?) se extendió hablándonos de la parte de .NET dedicada a la creación de páginas y aplicaciones web: ASP.NET y AJAX. El hombre se enrollaba como una persiana, tanto que acabó comiendo tiempo al resto de las conferencias.

La gracia de ASP.NET es que permite construir páginas web prácticamente como si fueran formularios de Windows (como se haría en un editor de GUIs) e, incluso, programar el comportamiento de cada elemento de la página web (denominados controles según la terminología de Microsoft) en C#. Posteriormente, el servidor ASP.NET traduce el código C# a javascript cuando se carga la página por primera vez (nos hizo una demostración programando en unos cinco minutos una etiqueta embebida en una página que mostraba la hora del sistema).

La integración de ASP.NET con AJAX es poderosa, y por ello, potencialmente peligrosa y confusa. En uno de los ejemplos que nos mostró en directo creó una clase con un único método que devolvía sencillamente un string. Por otra parte, programó un control en una página web que llamaba al método de esa clase y mostraba el contenido del string en una etiqueta. Todo esto sin abandonar C#, con lo que finalmente resultaba muy difícil saber qué había realmente por debajo. De hecho, quise cerciorarme y se lo pregunte al hombre, que no parecía querer entrar en detalles: como suponía, se genera un código javascript en la página web que hace una llamada remota al método de la clase almacenada en el servidor ASP.NET. Toda este mecanismo queda oculto (incluso diría que ofuscado) cuando se está programando, y no me parece bien.

La siguiente parte de la conferencia versó sobre la creación de interfaces 2D y 3D utilizando Windows Expression Tools y la nueva arquitectura Windows Presentation Foundation (que ha aparecido junto a Windows Vista, pero también se puede utilizar sobre Windows XP SP2). Dos eran las principales novedades de WPF: se han reducido el número de controles (widgets) a lo más básico (botones, menús, etc) y ahora se puede embeber de manera sencilla cualquier elemento multimedia (fotos, vídeos, audio, 3D, etc) dentro de un widget.

Crear botones animados es bastante sencillo, así que como decía el compañero de trabajo que tenía al lado, preparaos para ver dentro de poco interfaces de lo más horteras que pueda haber —quizás venga bien un poco de caos para que finalmente el diseño de las interfaces esté definitivamente en manos de diseñadores gráficos (o de gente que tenga un mínimo de gusto estético)—. Los planes de Microsoft, además, consisten en extender WPF a las páginas web y a otros sistemas operativos.

La penúltima charla trataba sobre aplicaciones móviles, el problema es que apenas hubo tiempo para hablar de nada. Nos hicieron un par de demostraciones triviales (como "construye un navegador web arcaico en cinco minutos") y nada más. Dado que ahora mismo es mi ámbito de trabajo, no vi nada que me pareciese realmente innovador.

Para terminar, la parte de la conferencia que más me interesaba, XNA, la herramienta de programación de videojuegos de Microsoft para amateurs, fue sólo un corto resumen muy por encima. Nos mostraron algunos vídeos de juegos que se han hecho o se están haciendo con XNA (había uno de carreras que bien podría colar por un juego nex-gen), nos hicieron un pequeño ejemplo con una nave moviéndose por un escenario 3D vacío y poco más. Todo muy fácil, todo muy fácil, hasta que de verdad te pones a ello. De todas maneras, XNA me ha llamado bastante la atención y un día de estos tengo que ponerme un poco más en serio con él.

En resumen, .NET es una excelente plataforma de desarrollo de software, siempre y cuando uses productos de Microsoft para trabajar con ella. La integración entre las herramientas Microsoft es tan transparente que a veces me parece incluso contraproducente, dado que no puedes ver con claridad cuál es la magia negra que mantiene todo unido y funcionando. Como comentaba hoy mi tío, la idea de Microsoft es crear un framework donde puedas construir aplicaciones mucho antes que en cualquier otra plataforma, aunque después funcionen como funcionen.

No hay comentarios: