Mono 2.0, mayor portabilidad de .NET a Linux

8 Oct 2008 en Software

El framework .NET de Microsoft gana espacio de aplicación en ambientes Linux con la nueva versión Mono 2.0, de Novell. Mono es la implementación open source de la plataforma .NET de Microsoft y en la versión 2.0 se va cerrando la brecha Windows-Linux para que las aplicaciones .NET funcionen en Linux.
Mono 2.0 es compatible con .NET 2.0, pero no está al día con los últimos releases que Microsoft ha realizado para .NET. Según Miguel de Icaza, líder del proyecto Mono, en Novell utilizaron a MoMA (Mono Migration Analyzer) para fijar prioridades. MoMA examina los ejecutables .NET existentes, determinando los items que se necesitan para que .NET corra sobre Linux.
En base a estadísticas de MoMA, se detectaron los elementos más utilizados por los programadores. Se difirieron APIs para cosas como WPF (Windows Presentation Foundation), que no mostraron un uso intensivo.
WPF es parte de .NET 3.0, antes denominado “Avalon” y forma parte de Windows Vista y Server 2008 con su subsistema gráfico. “Quienes adoptan nuevas tecnologías en forma temprana no encontrarán la respuesta en Mono, pero el grueso del a curva sí,” agregó de Icaza.
Respecto a compatibilidad con .NET, sólo un 50% de las aplicaciones analizadas con MoMA no presentó errores para ser full .NET. En versiones anteriores, esa tasa de incompatibilidad era de sólo el 10%, según nos informa Joseph Hill, gerente de producto.
“.NET recurre a código no administrado y a librerías legacy que no están disponibles en la plataforma objetivo y las aplicaciones no se pueden portar hasta que no se porte ese código legacy,” agrega Hill. Además, explica que hay librerías de .NET que son específicas de Windows y que Mono no contempla.
Pero Mono 2.0 sí soporta a Windows Forms y soporta a .NET 2.0 en forma completa en cuanto a componentes desktop y a Windows Forms. Windows Forms es la API (Application Programming Interface) gráfica para la interfaz del desktop Windows y su integración resultó ser más difícil que lo esperado.
“Lo más difícil fue embeber el control de browser. Depende de Internet Explorer sobre Windows y nosotros habíamos escrito para Mozilla. Tuvimos que invocar comportamientos y controles,” agrega Hill.
El proyecto Mono, iniciado en 2001, tendrá su versión 2.2 en noviembre de este año. Se actualizará el motor de generación de código y se mejorarán Windows Forms y otros aspectos computacionales,” concluye Hill.