miércoles, febrero 21, 2007

Y vuelta

Hace demasiado que no posteo en mi blog. Tampoco es que haya tenido demasiado tiempo, la verdad, pero más me vale poneros al día sobre todas las cosas que podéis hacer y no estáis haciendo, a ver si os muevo de la silla.

Para empezar, aquellos que, como yo, estéis en época de estudios, dejad de leer o escribir en los blogs (propios o ajenos) y empezad a estudiar, que es vuestro trabajo. En segundo lugar, si os queda tiempo, a lo mejor os interesa investigar algunas de las cosas que os propongo.

La semana pasada salió en lanzamiento mundial el gran lanzamiento informático del año: Windows Vista. Para los estudiantes matriculados en la EPS (más concreto para los que estén cursando alguna asignatura del DLSI) la descarga de la versión Business de Vista es totalmente gratuita y pueden empezar a probarlo ya... siempre que los ordenadores cumplan los requisitos, claro. Por desgracia, los desarrolladores de software y hardware no han hecho buen uso de las sucesivas CTPs, Betas o RCs liberadas por parte de Microsoft y tendremos que esperar algún tiempo (no creo que más de tres meses) para que muchos de estos desarrolladores saquen versiones o parches para sus productos de manera que se adapten a Vista.

Además de probar Windows Vista, podés echarle un vistazo a las extensiones del .net Framework que han venido a llamarse .NET Framework 3.0 y que vienen de serie con Windows Vista. Las librerías del WWF, WPF, WCF y WCS son interesantes y ya están apareciendo CTPs y versiones finales para desarrollar sobre ellas con el mismo Visual Studio 2005.

Además, tal vez queráis probar a programar para Office 2007, que incorpora una interfaz de usuario muy novedosa e intuitiva. Para eso también ha aparecido una nueva versión de las VSTO para Ofiice 2007.

En el otro extremo de las tecnologías .net, la rama open source, Mono se sigue moviendo adelante en el objetivo de cumplir los requerimientos para la versión 2.0 (compatible 100% con .net 2.0) en el segundo o tercer cuatrimestre de este año. Las versiones 1.2.2.1, 1.2.3 y 1.2.3.1 han sido liberadas en el último mes, todas ellas incluyendo a parte una nueva herramienta muy interesante para aquellos interesados en la migración de aplicaciones entre tecnologías. MoMA (Mono Migration Analyzer) es una aplicación Mono/.net que analiza las llamadas de los ensamblados ya compilados en .net y nos informa de su estado contra la última versión de Mono. Es decir, sabremos qué falta por implementar de Mono para que nuestras aplicaciones .net 2.0 funcionen. Los envíos de registros hechos con esta herramienta ayudan a los desarrolladores de Mono a saber qué funciones son más importantes y cuáles se usan menos, y actuar en consecuencia a la hora de implementarlas antes.

Además, el proyecto Mono.Xna sigue moviéndose adelante. Ya os informamos hace algún tiempo de las charlas y competición con XNA que se llevaría a cabo en la Universidad de Alicante. De hecho en estos momentos sigue funcionando hasta el próximo viernes. El proyecto para Mono, que está todavía en fase pre-alfa de desarrollo, también es una alternativa para aquellos que estéis un poco aburridos y queráis un reto de programación. Se han mudado al gestor de código y versiones de Google. Podéis encontrar la nueva página base de Mono.Xna aquí. Os animo a bajaros el estado actual de Mono.Xna del repositorio y empezar a trabajar.

Si habéis leido hasta aquí y todavía tenéis deberes que hacer o trabajos que presentar... o símplemente que estudiar. ¡HACEDLO YA! Por mi parte ya he terminado de consumir vuestro tiempo.

domingo, febrero 04, 2007

SimpleExample en Linux

Tras un poco de trabajo, he sido capaz de generar y ejecutar Mono.Xna y SimpleExample en Linux
Lo cierto es que, sabiendo poco de las tecnologías, que además siguen en desarrollo, me ha costado un poco generar el proyecto con Monodevelop y, finalmente, ejecutarlo con Mono en mi OpenSuse 10.2, pero finalmente lo he conseguido.

La cosa es que, en realidad, es bastante sencillo una vez comprendido todo lo que envuelve. No obstante, como me siento orgulloso de haberlo conseguido y puede que haya quien no pueda hacerlo, explicaré cómo lo he hecho.

En primer lugar, para que las aplicaciones con Mono.Xna funcionen correctamente en Mono-Linux, necesitamos todas las librerías dependientes del sistema a las que el Tao Framework hace referencia. En general son las librerías típicas de programación gráfica (OpenGL, SDL, etc.). Por supuesto, será necesario disponer de las últimas dll de Tao, actualmente en versión 2.0RC1.

Tras descargarnos el proyecto Mono.Xna o actualizarlo a su última revisión, utilizaremos el comando sh MonoDevelop.sh para que se genere la solución de Monodevelop que nos permita trabajar con el proyecto en Linux. Si lo abrimos y le damos a generar, nos aparecerán del orden de 64 errores de compilación. Eso es porque Mono.Xna está programado sobre el futuro Mono Framework 2.0, y tenemos que explicitarlo para cada uno de los proyectos que componen la solución. Con Monodevelop, hacer eso es sencillo. Simplemente tendremos que ir, proyecto a proyecto, haciendo clic secundario en el explorador de soluciones y cambiando en la ventana de opciones el "target" o "objetivo" por Mono 2.0 en lugar de 1.0. Tras haber hecho esto con todos los proyectos de la solución, la podremos generar sin problemas (aunque con un montón de warnings).

Una vez generada la solución, el siguiente paso obvio es probar si el SimpleExample funciona correctamente sobre Linux. Y lo hace, pero Mono, al contrario que .net, necesita unos pequeños archivos para cada dll utilizada (los dll.config). Si no los tenemos incluídos en el directorio del proyecto o las referencias de los mismos en la caché principal de Mono (con gacutil) el proyecto no se ejecutará. El comando mono SimpleExample.exe fallará porque nos faltarán dll aunque en realidad estén en el mismo directorio. ¿Qué hacemos?

En el paquete de la última versión del Tao Framework están todas las dll.config que necesitamos. En concreto la más necesaria para este proyecto es la Tao.SDL.dll.config, aunque no está de más añadir la Tao.OpenGL.dll.config y las otras para cada una de las dll que encontraréis en el directorio del proyecto. Estos archivos le dicen a Mono a qué librerías físicas (dependientes del sistema) hacen referencia los ensamblados dll.

Una vez añadidos estos archivos, hacer funcionar el SimpleExample es tan sencillo como abrirlo desde la consola con mono SimpleExample.exe o bien "Abrir con..." mono. La ventana de color azul clarito se presentará ante nuestros ojos iluminando las ilusiones de todos aquellos que quieren ver Mono.Xna funcionando algún día con todas las plataformas del mundo.

Unas ligeras modificaciones en el código del programa os permitirán cambiar el fondo de la pantalla, dependiendo de las teclas que estén pulsadas en ese momento. Pronto, cuando las primeras clases de Pong estén medianamente cubiertas, también podremos cargar texturas 2D en nuestros juegos y moverlas por la pantalla. Para eso falta verdaderamente poco. Estad atentos.

jueves, febrero 01, 2007

JTUA 2007

La Universidad de Alicante presenta sus Jornadas Tecnológicas
Desde el próximo 12 de Febrero, en la Universidad de Alicante, se van a celebrar las Jornadas Tecnológicas 2007, programadas por la Escuela Politécnica Superior. Entre ellas habrán dos muy interesantes, entre las cuales estoy involucrado. La primera, el día 14 de Febrero, en el Salón de Actos de la EPS1, hará una presentación LOVE (Lanzamiento de Office, Vista y Exchange). No será meramente una presentación de las diferentes herramientas que Microsoft acaba de lanzar al mercado. En realidad irá más a fondo y planteará las novedades que incluye el .net Framework 3.0, incluido de serie con Microsoft Windows Vista.

El día siguiente, 15 de Febrero, en el Salón de Grados de la EPS1, una nueva jornada orientada a .net está en el calendario. En ella, un servidor con ayuda de Miguel Llopis y Aaron Saugar (además de una tremenda comunidad de usuarios de .net/Mono por detrás) tratará de presentar las tecnologías .net de una manera más abierta y menos elitista. Se centrará en las mejoras que estas tecnologías proporcionan a la hora de programar aplicaciones con un objetivo claro: la multiplataforma. Entre las tecnologías que se usarán estarán, por supuesto, .net Framework 2.0/3.0, Mono 1.2.2.1 y XNA. Se presentará Mono a la comunidad universitaria y se introducirán algunos proyectos sobre Mono que están actualmente en desarrollo como Mono 2.0, Olive o Mono.Xna.

Si estás interesado en todo esto, tal vez te interese también apuntarte a los talleres programados a partir del 19 de Febrero. Se plantean dos posibles retos: un campeonato de programación de videojuegos con XNA y otro de proyectos para el Imagine Cup.

Además, el día 21, Miguel Llopis y Jorge De La Rosa presentarán unas nuevas charlas en el Salón de Actos de la EPS1: Programando Robots Lego, usando MS Robotics Studio y Lego NXT. Una charla que verdaderamente promete.

Os dejo por el momento my friends, que todavía tengo que prepararme un examen y las presentaciones de las JTUA 2007.

Mi Tienda Lulu