Speed and Reliability

By Darryl K. Taft  |  Posted 2008-10-07

Mono 2.0 Takes .NET Cross Platform

The Mono Project, an initiative to deliver an open source implementation of components of the .NET Framework, has announced the availability of Mono 2.0.

Miguel de Icaza, founder of the Mono project, said Mono 2.0 is an open source, cross-platform .NET development framework. Mono 2.0 provides all the necessary software to develop and run .NET client and server applications on Linux, as well as other operating systems. The new Mono 2.0 release is now compatible with the desktop and server components of version 2.0 of the Microsoft .NET framework and features the Mono Migration Analyzer (MoMA), an analytical tool for .NET-to-Linux migrations.  

"We built a tool to understand what we were using from .NET -- like which APIs -- because .Net is so large," de Icaza said. "So we wanted to look at how we prioritize. The Mono Migration Analyzer helped us figure out which APIs people were using the most."

MoMA, which runs natively on .NET or on the Mono framework, helps developers quantify the number of changes required to run their .NET application in a Linux environment. In an analysis of 4600 .NET applications using MoMA, 45 percent of the applications required no code changes to work with Mono. An additional 24 percent of the applications were shown to require fewer than six code changes to run on Mono.  Moreover, de Icaza said more than 2000 .NET applications are Mono 2.0 compatible with no code changes

De Icaza also said with Mono 2.0, developers can leverage their existing investment and skill sets to build .NET 2.0 applications for deployment on a variety of platforms, including Linux, Solaris, Unix, and Mac OS X.

"Mono 2.0 benefits a wider range of developers, ISVs and end-users by allowing them to write their applications once and run them on any OS platform, dramatically increasing portability and expanding their market reach," de Icaza said.

Meanwhile, one of the most recent successful uses of the Mono framework is the rapid development of Moonlight, an open-source, Mono-based plug-in version of Microsoft Silverlight, which is used to create and host next-generation, rich interactive applications.  De Icaza said a beta version of Moonlight 1.0 will be available by the end of the year. And although the project has delivered a Moonlight 2.0 engine, "it is not quite ready" for release, de Icaza said.

In addition, de Icaza said the Mono team has been able to take Moonlight out of the browser "and we've been able to build desktop apps with it. So you can take online Silverlight apps and turn them into desktop apps." In that respect, Moonlight is able to behave akin to the Adobe Integrated Runtime, better known as Adobe AIR. "Some of our demos are almost identical to what AIR does," de Icaza said. "It would be nice if Microsoft did the same. That way it would run on Windows and the Mac OS. Right now it's just for browsers."

Speed and Reliability

Linden Labs also uses Mono in the development of their Second Life project to improve the stability and speed of scripts - particularly calculation-intensive ones. 

"Deploying Mono as the primary scripting engine on the Second Life Grid has had enormously positive effects for our Residents," said Jim Purbrick, technical director, Core Platform, Linden Lab, said in a statement. "In fact, some of the internal benchmarking we've done has shown that scripts running on Mono run up to 220 times faster. The speed and reliability that Mono provides opens up new possibilities for content creators and improves the experience of even casual users."

Another user, Unity Technologies, a 3-D game development tool provider, uses Mono for its game development system. 

"We chose Mono because of its performance and cross-language capability," said Joachim Ante, chief technology officer and co-founder at Unity Technologies, said in a statement. "Mono provides Unity's diverse developer community the ability to work in such languages as JavaScript, C# and Boo, resulting in a very short learning curve and immediate familiarity with scripting in Unity.  The latest version of Mono represents significant improvements in stability and performance and makes it even easier for us to develop feature-rich cross-platform applications than run on the Web, Windows, OS X, Nintendo Wii and soon the iPhone."

Independent Software Vendors (ISVs) also weighed in with their support for Mono 2.0.

"With the inclusion of Microsoft .NET 2.0 desktop components in the Mono 2.0 release, we will now be able to deliver the same graphical administration experience across over 125 platforms," said Krishna Ganugapati, vice president of Engineering at Likewise Software.

And Steve Bjorg, CTO at MindTouch, in a statement, said, "MindTouch built their open source enterprise collaboration and integration platform, Deki, on the Mono framework. MindTouch Deki enables customers to 'webify' legacy applications, bridge multiple applications with a common interface and provide a more usable interface to systems and databases. Since the core of MindTouch Deki is implemented in C# and deployed to Linux using Mono, we are excited to see Mono 2.0 adding C# 3.0 compiler support, including support for Language Integrated Query (LINQ)."

De Icaza said Mono 2.0 is available now and can be downloaded at www.mono-project.com/downloads. More information on the Mono project can be found at www.mono-project.com

Rocket Fuel