REVIEW: The Mono Migration Analyzer tool, or MoMA, helps users port Microsoft .NET programs to Mono, with the ultimate goal of porting Windows software to Linux. But is it really necessary? eWEEK Labs puts MoMA through its paces.
originally released its .NET
run-time and framework, programming for Windows became much easier. You got to
choose from some favorite languages (C++, a Java-similar language called C# and
Visual Basic), but by choosing .NET you were
effectively locking yourself into the Windows platform. If you were thinking
about portability, you had to look to such tools as C++ and wxWidgets.
That said, Microsoft did something right when it developed the .NET
system. It devised a standard called the CLI
(Common Language Infrastructure) that was accepted by both Ecma International
and ISO (International Organization for
Standardization). This allowed developers to create their own versions of .NET
for other platforms, or even for Windows.
A few groups of developers have worked on implementing CLI
for other platforms, but the one that has clearly taken the lead is the open-source Mono Project.
now available on Windows, the various breeds of Linux and Solaris, and even on
Mac OS X-which means that Windows developers can port their software to any of
Porting is still not perfect, however, as Microsoft continues to barrel
forward with new APIs and technologies under the .NET
umbrella. If you have an existing .NET
project, you very well may run into problems trying to run it under the Mono
run-time. And, indeed, you can run your .NET
software directly under Mono, as the binaries are compatible-assuming you haven't
used any features not yet implemented under Mono.
That's where the MoMA
Migration Analyzer) tool comes in. MoMA is available free of charge, as is the
entire Mono project.