My first task in my summer training was to know what is Mono Project and how to install it on Linux Ubuntu. Sounds easy, like a bar of chocolate, isn't it?!
I felt so excited to know what is that thing called Mono. So I started searching at once, and where's what I found: Mono provides the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix. Sponsored by Novell the Mono open source project has an active and enthusiastic contributing community and is positioned to become the leading choice for development of Linux applications.
The Mono Project's objective is to enable UNIX developers to build and deploy cross-platform .NET Applications. The project implements various technologies developed by Microsoft that have now been submitted to the ECMA for standardization.
The only thing .NET (Microsoft original framework) and Mono have in common are the idea. A central cross-platform development framework, and one is based on the other.
Considering that Mono is supported on Linux, UNIX, OSX, Solaris, BSD and Windows, you can write an application within one and almost instantly port it to the next. Assuming the other platform has the mono common libraries (which are included in Ubuntu and Windows for starters) and your application doesn’t depend on any platform dependent libraries. If this is the case you just wrote an application that can be used on Linux, OSX and Windows without any additional work. See, as I said, just a bar of chocolate:D.
After about two hours, my CEO came to check my progress, and with a lot of excitement I told him:
- " I found what it is all ... I got it". In returns he said: - "Great! so tell me, which version of Mono works with which version of .NET??" - "Oh .. ah .. well .. I can't remember that I read something about that ... give me couple minute and I'll figure it out :D"
I've to say that it was a little bit embracing :"> ... I know Right-Brained people like me are big picture oriented, and that's why I miss small details :-S
Anyway, till this moment, the latest version of .NET is 3.5, and the latest version of Mono is 1.9. But (also for the current moment) Mono supports .NET 2.0 only!! Some of .NET 3.0 and 3.5 new features are supported, but still most of them under developing.
My references for this post, and for more details, check those links:
- Squashing A Few Myths About Mono
- Mono (Software) from Wikipedia
- Mono Project Website