Ya sabemos más o menos que es eso de Mono. Intuimos que, como todos los grandes proyectos Open Source, tiene un roadmap de funcionalidades a incluir, por lo que nos preguntamos ¿En qué estado se encuentra ahora mismo el proyecto?
A lo largo de este Septiembre de 2008, aparecerán varias versiones release candidate, como preludio a la aparición de la versión 2.0 de Mono a final de mes. Este es un resumen de cómo quedará el proyecto tras esta nueva versión:
API: Terminadas las Base Class Libraries con lo que le faltaba (Windows.Forms) hasta .Net 2.0. Añadido ADO.NET 2.0 y ASP.Net 2.0 (WebForms y Web Services, faltan WebParts y ciertas partes de Mobile).
Compiladores: C# 3.0 (incluyendo LINQ to Objects y LINQ to XML, aunque aún sin LINQ to SQL u otras bases de datos) y Visual Basic .Net con generics.
Máquina Virtual: Ahora incluye también DLR (Dynamic Language Runtime), que en .Net se utiliza para IronRuby o IronPython, y en un futuro en otros lenguajes más asociados al scripting como el futuro Visual Basic .Net 10.0.
Otros:
- MoMA (Mono Migration Analyzer), una herramienta para evaluar la complejidad previa de portar un proyecto de .Net a Mono.
- Gendarme: una herramienta para analizar programas y librerías en código intermedio buscando problemas que los compiladores no suelen buscar.
- Debugger: Que se está rehaciendo, dado que en la última versión de MonoDevelop no es posible realizar debug de la aplicación.
Otros proyectos con su propio roadmap:
- Moonlight: implementación libre de Silverlight, con apoyo por parte de Microsoft. Actualmente soporta la versión 1.0 y se ha comenzado con la 2.0. El desarrollo puede hacerse con su propio IDE (Lunar Eclipse), y ya existe como plugin para Mozilla.
- Proyecto Olive: trasladar nuevas librerías de .Net a Mono, entre las que se encuentran algunas de las más interesantes de .Net 3.0, como WF, WCF o WPF, aunque aún se encuentran en un estado muy alpha.
- Proyectos Google Summer of Code: LINQ to DB (MySql, Oracle y PostgreSQL), MSBuild, etc.
- Otras librerías: Al igual que se han reimplementado las Base Classes, también hay muchos proyectos relacionados con Mono o que incluyen wrappers/bindings a otros sistemas, como: GTK#/Glade# para utilizar las interfaces de usuario de GTK+ y/o desarrollar aplicaciones nativas para Gnome, Mozilla libraries (Gecko#), integración con Mac OS X (Cocoa#), bases de datos, seguridad, integración con Unix, y un largo etcétera [documentación].
Etiquetas: .Net, Mono, open source, programación