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

|

PDC 2009: What have we learned this week?

There was the freebie that no one will forget, the heebie-jeebies courtesy of Scott Guthrie, and a teensy bit clearer picture of how this cloud thingie should work.

Live report: Will Google Chrome OS change Linux?

The mysteries of just what Chrome OS is, and how much of an operating system it truly is, may be resolved today.

PDC 2009: Microsoft cares about Web browser performance

The effort to give users of the world's dominant Web browser the impression of quality, is a personal one for the man who leads that battle.

Nokia re-affirms its commitment to Symbian, sort of

Maemo won't necessarily be replacing Symbian in the Nokia N-Series, but that's definitely a place where it will be found.

E-book readers will be in short supply this holiday season

E-readers are hot this year, and a lot of compelling new products have been released, but are there enough electrophoretic displays to go around?

Sony looks to finally open a single storefront for downloads

Sony has had many different download portals for movies, music, e-books, and games, and now it's looking to make a single shop for all of it.

Tuning out the tablet: Time to give the endless speculation a rest

Wide Angle Zoom: Wishing and hoping and thinking and praying....won't put an iTablet on the market.

Five improvements for IT managers in 2010

If businesses are to improve their efficiency for next year, they need to stop and reassess the basic tenets of their job.

AOL's spinoff from Time Warner to shed 2,500 jobs

As AOL moves toward become an independent company again, it will cut nearly a third of its workforce.

Gartner: SMS-based money transfer will be bigger than mobile browsing, search

Gartner issues its predictions for the 10 things our phones will be doing in 2012.

Don't forget to upgrade to Firefox 3.6 beta 3 today

Mozilla has released the latest beta its Firefox 3.6 browser software, just over one week after beta 2.