jueves, noviembre 02, 2006

Mono.Xna, el XNA libre

Tras el bombazo que han supuesto la aparición de las tecnologías XNA en tan poco tiempo, el mundo del software libre se une a la batalla y comienza el desarrollo de una librería compatible y libre para Mono
Lo cierto es que ya tardaban los desarrolladores de Mono en pronunciarse sobre el asunto, y es que una tecnología con tantísimas posibilidades es muy importante también en el mundo del software libre.

Para los no versados en la materia, Mono es una implementación en software libre de las tecnologías .NET. Como la mayoría de los proyectos en software libre (me refiero a los proyectos serios, de gran envergadura) no se puede atribuir su desarrollo a una entidad específica, sino a la entera comunidad de desarrolladores, cada uno poniendo su granito de arena. A pesar de ello, los chicos de Novell (que desarrolla la distribución SUSE Linux y otras basadas en ella) son los que podríamos llamar, padres de la criatura.

Mono no es símplemente una copia del runtime de .NET hecha mediante software libre. Además tiene SDK, como el .NET Framework, y también se está desarrollando un IDE de desarrollo similar a Visual Studio llamado monodevelop. La gran ventaja de estos paquetes es que los programas escritos y compilados con y para tecnologías .NET se convienrten en verdaderamente interplataforma, ya que Mono, al ser software libre, puede compilarse libremente para cualquier plataforma (Linux, Mac, Solaris, etcétera).

En su actual nivel de desarrollo (que como cualquier tecnología va cambiando cada semana) Mono es capaz de desarrollar y funcionar de manera prácticamente transparente con las tecnologías .NET 1.1 y con algunas añadiduras de las .NET 2.0. De hecho ya se ha incluído el soporte para C# 2.0 y está en desarrollo el soporte para C# 3.0 del .NET Framework 3.0. La última reunión de sus desarrolladores proyectó dos grandes hitos del desarrollo de Mono, la cercana terminación de la versión 2.0 (con interoperatibilidad transparente con .NET 2.0) y la futura ampliación con las tecnologías de .NET 3.0 (Mono 3.0).

Todo esto es muy bonito, pero no tiene nada que ver con XNA, ¿no? Bueno el caso es que a partir de ahora sí. Los desarrolladores de Tao Framework (una capa para utilizar OpenGl con Mono - algo que en Mono ya estaba y en .NET no lo había visto) al ver las XNA se han puesto manos a la obra para portar las librerías XNA a software libre. Evidentemente las XNA de Mono (Mono.Xna) no funcionarán sobre DirectX ya que DirectX es código propiedad de Microsoft. Pero el hecho de portar las librerías, funcionando por debajo con OpenGL abre muchísimas puertas no solo a Mono, sino también a XNA.

Por ejemplo, actualmente uno de los objetivos de XNA es proporcionar un entorno único de desarrollo de videojuegos de manera que se consiga una verdadera interplataforma. Cuando la versión final esté disponible, XNA será un 95% interplataforma entre Windows y XBOX360, es decir, para hacer funcionar juegos de XBOX en Windows y viceversa habrán ocasiones en las que haga falta modificar mínimamente el código. No obstante, las librerías Mono.Xna funcionando sobre el runtime de Mono (que ya es operativamente 2.0) pueden extender esa multiplataforma a Windows - Linux - Mac con un 100% de compatibilidades. En otras palabras, un juego escrito y compilado con XNA para Windows podrá funcionar sin ningún problema en máquinas Linux/Unix y viceversa. Interesante, ¿eh?

Por supuesto estamos hablando del actual XNA. Los rumores y frases inacabadas de los desarrolladores en el foro dejan ver que cuando la versión actual salga de su fase beta y se convierta en oficial, el equipo se centrará en la segunda versión, incluyendo las mejoras del futuro DirectX10. Pero para eso habrá que esperar aún un poco.

Para los curiosos y los que quieran apuntarse al carro, a partir de ahora tendréis disponibles las páginas de desarrollo de Mono también en nuestra sección de links. Por supuesto también os las incluyo en este post:

1 comentario:

Franklin Coloma dijo...

Felcitaciones amigos de XNA Club, la información de su blog es muy buena, no tenia conocimiento del Proyecto Mono:XNA y de Taoframework.

Existos, sigan con el mismo entusiasmo de compartir el coocimiento con la comunidad...