Mono, the open source .NET counterpart, releases 2.0

By Scott M. Fulton, III | Published October 6, 2008, 12:01 PM


Download Mono 2.0 for Linux from FileForum now.

Microsoft has said from the very beginning that it wanted .NET to potentially be a cross-platform environment, but it's letting the open source community tackle that problem instead. This morning, that community celebrates a major milestone.

After a healthy development process, the open source project for running .NET applications on non-Windows platforms is now officially at release 2.0. Mono, a project largely funded by Novell, now includes fully tested support for Microsoft's Language Integrated Query (LINQ), which embeds relational database instructions into procedural code; and developers can now create production-quality .NET applications using a fully compliant open source C# development environment and compiler.

The effort to make .NET applications run truly cross-platform is no small feat. It helps not to be frowned on in the process; and now, the involvement of Novell, now an official "friend of Microsoft," could be making things run much more smoothly.

For developers content to work strictly within Windows, .NET development is relatively simple because the bindings -- the low-level components that make the Framework run with everything else presumed to be part of Windows, such as the graphics rendering drivers and the SQL libraries -- are reinforced during the installation process. For Mono, you can't exactly bind to the same things (DirectX, SQL Server), so developers have to be cognizant of the open source counterparts they use instead.

This does mean changes have to be made to .NET applications' source code, but not to the core logic of that code -- rather, to the inclusions and bindings that make it relevant. For example, ASP.NET Web applications cannot presume the existence of one of Microsoft's SQL engines. Mono prefers PostgreSQL instead; and in order that C# 3.0 code can bind to it, Mono uses a library called Npgsql (whose 1.0 version, incidentally, was also released today).

The MonoDevelop IDE that comes with Mono 2.0, the cross-platform .NET framework

As the Mono Project's Marek Habersack writes, moving an ASP.NET application into the MonoDevelop IDE for translation into Mono is not without some work, because the bindings to the outside world may be different. To make an application truly cross-platform -- running in .NET for Windows or Mono -- it naturally needs extra code that detects what platform it's running on, which is something you'd never think of adding for Windows-only builds of an application.

So the hope of Mono developers is to at least make the porting process reasonably simple, uncomplicated, and straightforward -- if you know what you're doing, it can be done on the first try. The MonoDevelop IDE should be easily graspable and comfortable to a developer who's already familiar with Visual C# in Visual Studio; it's not a clone, but it's not so different as to be confusing. Alternately, developers have been able to build Visual Basic 8 applications for Mono since February of 2007.

Mono also uses Microsoft-compatible bindings to ADO.NET for sequential data operations, Windows.Forms for building basic dialog boxes and control panels, and such familiar APIs as System.XML and System.Drawing. There are more non-compatible libraries, however, for obvious reasons, the biggest one being a binding to the open source GTK graphics library commonly used by GNOME. Fittingly, that binding is called GTK#, and technically it will work with Windows also, assuming the admin of the Windows client is willing to install GTK.

MonoDevelop features a full range of development tools including a linker capable of trimming the size of included libraries, a full-featured debugger, and a rule-based profiling tool called Gendarme that can detect potential binding problems, especially for cross-platform applications, that the compiler alone may not be capable of detecting. The C# compiler, tools, and runtime libraries are distributed under the GPL license, and the included class libraries are distributed under the MIT X11 license.

Linden Labs has been undertaking a project since last August to move its Second Life server applications to Mono, in what could be the most public demonstration of the cross-platform framework's capability.

Comments

View comments by with a score of at least

LL's move to Mono has been going on longer then just since August, the project has been in the works since 2004 though early movement was slow. The big stumbling block was waiting for Mono to have code verification.

Score: 0

|

Pronounced Moe-Noe...accent on last syllable.

Yous hiphoppers oughta dig that.

Score: 0

|

Nice job Mono! Keep it coming~

Score: 0

|

Congrats to the community

Score: 0

|

Great marketing, name your product after a disease. :P

Score: 0

|

Mono means monkey. It is MO NO not MON NO. Geesh.

Score: 0

|

Mono also means "one".

Mono-Rail, anyone?

Score: 0

|

Its actually named after the mother of a famous singer in a band named U2.

Score: 0

|

'twas a joke people, relax. I know it's Spanish for monkey, but when most people in this country see it that's usually not what comes to mind. ;-)

Score: 0

|

Oh great, so it's called One Two now. Really explains what it does there.

/tounge in cheek

Score: 0

|

Pffft.

Or after a pub in Oslo city centre.

Score: 0

|

ummm... that's Bono... not Mono lol

Score: 0

|

One Two, Point Zero, actually. :p

Score: 0

|

Oh well, since there is nothing else...

I never even thought it could mean anything but the Greek mono. Mono as One unifying platform - to rule them all.

Score: 0

|

Gah!

Quick! Grab a bunch of midgets and force them to throw in some volcano somewhere!

Score: 0

|

Yeah... It usually conjures up images of dancing squirrels.

...or maybe that's just me. ;)

Score: 0

|

I said his mother.

Everyone knows Bono's mother is named Mono. (O_o)

Score: 0

|

Wow.

I read that as "a mother of a singer" ...as in you really thought the guy was a *cough*good singer *cough*.

Looks like I need to brush up on *my* reading comprehension skills. :p (I believe it's probably the same mistake the person replying made)

Score: 0

|

Breakthrough: AMD and Intel settle antitrust dispute, reach new cross-license agreement

UPDATED Only exclusionary business practices, not some rebates, may be covered by a new agreement on Intel's future business conduct.

HP to acquire 3Com for $2.7 B in cash, focus on China

A long and uncertain comeback trail comes to an end for the one-time network equipment giant.

Universities reject Kindle DX as a textbook replacement

Two universities running Kindle DX pilot programs have rejected the device.

Snow Leopard and Windows 7 still can't crack the netbook problem

Apple has killed Atom support in OS X 10.6.2 and Windows 7 Starter Edition is stripped of "basic" functionality.

Windows Marketplace for Mobile now available in browser, iTunes' App Store still not

You can now check out what Windows Marketplace for Mobile has to offer without a Windows Phone.

Microsoft damage control after marketer claims Win7 inspired by Mac

Have you ever said anything you wish you could take back? Ever? No? Not even once? Well then, you won't sympathize with a mid-level Microsoft manager today.

Facebook for iPhone developer goes from Apple supporter to 'I quit!' in 3 months

Fed up with Apple's App Store policies, the developer of Facebook for iPhone has bailed on the iPhone.

Bing vs. Google rematch on video search

After Microsoft folds some old MSN Video features back into Bing, do they add to the search engine's functionality or take away?

Bing gets geekier with new Wolfram Alpha integration

Microsoft's Bing is now teamed up with Wolfram Alpha for computational search results.

New EU telecoms framework mandates user consent before getting cookies

Do you want a cookie? No. Do you want a cookie? No. Do you want a cookie? No. Do you want...Are you annoyed yet? That's a preview of 2011.

The Samsung Intrepid: A nice phone, if you can accept Windows Mobile

Samsung appears to have built solid enough hardware, but it's the software that seems uncomfortable and unintuitive.