Tuesday, September 4, 2007

.NET on Linux

Even though being a Microsoft professional, I’ve started my career in a Java project in 2003. I know how strange it was… :) !! But it gave me a chance to know more about a robust technology- JAVA. And I’ve started comparing Java and “brand new” .NET. But I could see that .NET was lagging in interoperability. It was not platform independent.

Beauty of JAVA is, “write code, compile once and run it anywhere”. I felt that .NET had a huge limitation on this, until I come across MONO. Thanks to NOVELL for providing the open source software that helps to run .NET code on Linux platform. Now I can proudly tell to any Java developer that my C# code which I have written on windows platform can be run on the Linux environment. :)



What is Mono?

Mono is open source software provided by NOVELL, which helps to run .NET code on Linux platform.

Current production version of mono is 1.2.4 (as of today)

MonoDevelop is the IDE (Integrated Development Environment) which can be used for writing C# code in Linux.

Mono Migration Analyzer is a tool which helps to identify the portability issues while porting .NET code written in windows platform to Linux. The tool lists down all the portability issues in the form of a report.

SLED (SUSE Linux Enterprise Desktop 10.2) is the Linux operating system on which mono can be installed. This Linux flavour is also provided by NOVELL.

BOO is a language available with Mono :)

Gtk# project can be created using MonoDevelop. It is similar to WinForms.

MonkeyGuide is the name of help file for Mono :)



p.s: What does the name "Mono" mean? Mono is the word for 'monkey' in Spanish. NOVELL says that they like monkeys ;)

Challenges while porting :
I really do not have any clue on “how to port ASP.NET applications into Linux”. Because there is no IIS present on Linux. So the real question is “where do I host my web application or webservice on Linux platform?”

Currently Mono does not support .NET framework 3.0. So just don’t plan for using WCF or WPF.

Not all the .NET framework 2.0 features are ready in Mono, open source team of NOVELL is adding those features. But majority of the framework 2.0 features are available.

There are many more portability issues which you may come across while working with Mono. And good thing is NOVELL is having support team for Mono. But I fear that it’s a paid service. After all I don’t think anyone in this word will be ready to provide free support. :)


References:
www.mono-project.com


And

Special thanks to Radhika (who is working with NOVELL and my super-super-super senior :) at +2) for introducing me to the people who’ve developed Mono. That was a very different experience talking to those folks who were behind mono project!!!

3 comments:

Radhika said...

Dear, y to mention my name...it's all implied....nyways, thanks a load for mentioning our products such as SLED

Gauri Chandran said...

The attempt sounds good. but i doubt the feasibility and acceptebility of this... have u ever used it???

nidhish said...

ya, I'm using Mono now and it feasible upto an extend. I repeat "upto an extend".

But believe me, if you have a .NET winforms application developed using .NET framework 1.1 is going to run on Linux. Take it as granted :)

When it comes to .NET framework 2.0, it may support or may not. But opensource team of mono is working towards that, and hopefully we'll be able to use it in full extend.