Microsoft's .NET framework on Linux is getting a big boost with the official release Monday of Novell's Mono 2.0.
The Mono 2.0 release is Novell's open source implementation of Microsoft's .NET platform. With the latest version, the gap between the two is getting smaller.
Even though Mono 2.0 is compatible with Microsoft's .NET 2.0, it's not in full compliance with the latest .NET releases from Microsoft (NASDAQ: MSFT). The Mono effort is important as it is intended to enable .NET (define) applications to run on Linux.
De Icaza noted that what the Mono project has been doing is to actually identify what parts of .NET developers are using. Since the Mono 1.2.3 release the MoMA (Mono Migration Analyzer) tool has been available to examine existing .NET executables and determine all of the items that are necessary from .net in order to run.
"Thanks to statistical data from MoMA, we're able to prioritize what people are actually using," De Icaza said. "What is important about this is there are some API's that we've definitely postponed. For example, [Windows Presentation Foundation] is not something that we're working on right now."
WPF is part of Microsoft .NET 3.0 specifications. At one time, it was best known by its code name, "Avalon." WPF is included in Windows Vista and Windows Server 2008 and provides a graphical subsystem for developers. De Icaza claimed that WPF is not yet widely used by developers at this point.
"The IT developer cycles are not in lockstep with vendor release dates," he added. "There are definitely the early adopters and they'll be using the latest APIs and those users won't be served by Mono. But anyone else on the tech adoption curve should be fine with Mono."
There are other issues with Mono 2.0 beyond the fact that it doesn't currently have support for WPF. Novell Product Manager, Joseph Hill noted that only 50 percent of applications run through the MoMA analysis tool come back without errors for being fully .NET capable. The 50 percent figure for Mono 2.0 does show progress though. Hill commented that previous versions of Mono had figures as low as 10 percent for errors.
".NET has the ability to call into unmanaged code and legacy libraries," Hill explained. The downside for portability is that if you're calling into legacy code that is not available on the target platform then that application isn't going to be ported until the legacy code is ported as well. "
Hill added that there are also some libraries in .NET that are just very Windows specific that the Mono project is not likely to port either.
The key part of the Mono 2.0 release from a technical perspective is that it provides full support for Windows Forms which is something that the Mono project has been working on for several years.
"Mono 2.0 is a big deal for us and it means that we've got complete support for .NET 2.0, Hill said. "We've had pieces of 2.0 coming for a while now that we have complete support for desktop components, Windows Forms specifically we know have what we consider to be complete support."