Mono 2.0 Boosts Cross-Platform App Development (NewsFactor)
Mark Long, newsfactor.com 15 minutes ago
The Mono project has just released Version 2.0 of its open-source implementation of Microsoft's .NET framework. Mono is both a runtime environment for applications and a kit for developers writing applications with C, as well as other Common Language Infrastructure languages developed by the European Computer Manufacturers Association (ECMA).
Though Mono's early use was mostly on Linux desktop applications, over time it has evolved into a cross-platform environment for software developers, noted Miguel de Icaza, cofounder of the GNOME project.
"We originally started to work on Mono because we wanted to make developers happier and more productive on Linux," de Icaza said. "As the project matured, developers started taking advantage of Mono's open-source nature" to essentially gain access to .NET on their own terms via "a platform that could be adapted, morphed, ported and modified to suit many different uses."
A Working Debugger
Mono 2.0 enables software developers to build applications for desktops, servers and other computing devices while employing Microsoft-based environments. The resulting applications can then be deployed across multiple operating-system platforms, including Linux, Solaris, Mac OS X, Windows, Nintendo's Wii, and even the iPhone and iPod touch, de Icaza said.
Previous iterations of Mono have already been deployed to run code on large clusters of servers for Linden Labs' SecondLife. De Icaza also noted that Mono is currently being embedded in portable MP3 players and powers Unity3D's game engine on the Apple iPhone and the Nintendo Wii.
However, there was an area where the Mono project had underdelivered in the past, which de Icaza characterized as a constant source of pain. "Up until now, we did not have a working debugger," de Icaza said. "This has finally changed, and Mono 2.0 includes one for the first time."
Analyzing the Code
Among other things, the latest open-source implementation of Microsoft's .NET framework powers Moonlight -- the Mono project's open-source implementation of Silverlight -- as well as a popular social-collaboration tool called DekiWiki. Mono 2.0 also provides software developers with .NET APIs for developing Web-based applications, manipulating XML documents, and accessing databases.
Developers will be able to reduce the size of executable files and libraries by using the onboard Mono Linker to remove features from libraries using an XML definition of the desired public API. Mono 2.0 also now integrates tools for producing online and offline documentation for any API.
To assist Windows developers in porting applications to Unix, the Mono project is delivering a new migration analysis tool. Moreover, Mono 2.0 now integrates the Gendarme code analyzer -- an extensible rule-based tool for tracking down problems in .NET applications and libraries.
"Gendarme inspects programs and libraries that contain code in ECMA CIL format (Mono and .NET) and looks for common problems with the code -- problems that compilers do not typically check or have not historically checked," de Icaza explained.
De Icaza also noted that some new Linux developers may wish to make use of Mono 2.0 within an integrated development environment (IDE). For this, developers can use the project's open-source Mono Develop IDE on Linux, the commercial X-Develop IDE, or Slick Edit, he said.


