Well, for a long time I have been a big fan of open source software, and although I'm not specifically a .NET developer, it's my main focus, as everything I do work related is .NET. I've known about The Mono Project for a while, and I typically run Ubuntu as my OS of choice, with XP running in a VM for when I really need it.
Well, I haven't booted up Ubuntu for a while, having been really busy doing work stuff, so today, I decided that it was time to take Ubuntu's Latest version, Jaunty Jackalope for a spin. I had tried it out back when it was beta, but never really had a chance to get into it.
One of the things I typically do on a new Ubuntu install is setup a lamp server, and install mono develop for the odd little app I decide to build on linux. For all you linux nuts out there that are going to bash me for using mono to do most of my linux development, shut it, I don't care about your opinion, .NET is natural for me, and unless I'm doing a serious development project, I tend to use what's the simplest to power out a quick and dirty app.
Well, to my surprise, Ubuntu has finally gotten with it in terms of being up-to-date with Mono. They may not have the most bleeding edge version in the repositories, but they finally have the latest major build, and all the major features available in the IDE. So, that's a nice surprise, that I don't have to download source files and compile mono/mono-develope from scratch.
RANT: Btw, compiling all the mono libraries and mono-develop libraries/plugins is HELL. It's so bad, it's almost warranted to switch from Ubuntu to Suse JUST FOR MONO. Seriously, it's almost worse than having a truck rammed up your ***.
Anyway, it's not quite as straight forward as simply going "Add/Remove Applications -> Install MonoDevelop" unfortunately. The default install script for Ubuntu leaves out all the goodies of 2.0, but at least they are in the repository if you need them, you can "sudo apt-get install" whatever it's missing... like... the Integrated Debugger Plugin for instance? How bout the NUnit Framework/Plugin? Yep, that's missing too. They don't even install the SVN plugin by default. And the way Ubuntu's setup, the inhouse Add-In installer has no idea where/how to install these. But a simple Synaptic Search gets you what you need.
So, I finally got everything setup, installed, and configured, true to the nature of Linux (I love linux, but sometimes the repetitive manual configuration tends to work on my nerves).
Now, for something to do. Well a friend of mine asked me a while back if I could write him a little utility app to help him organize/index some files, and one of his requirements is it has to work cross-platform, as he has several machines all running various OS's. So, that's as good as any project, so I'm currently working on that.
If any of you have used a previous version of MonoDevelop, but have not yet upgraded to 2.0, do it. It may not be at VS's overal quality, but it's freakin' amazing. The fact that it now has a working debugger, nunit, asp.net syntax highlighting, and even has WinForms support now. I also believe as of the latest version, it now works cross-platform, so for you windows/mac folks, there's a version for you too.
Anyway, I fire it up, create my classes/projects, pick my target framework and start coding. It's all so fast, so smooth, and the Intellisense has REALLY improved over previous versions. Debugging is as easy as it is in Visual Studio, and a built-in test runner means I'm off to an excellent start.
I'll keep you guys posted on the progress of my project, and will probably make the source code available when it's all complete, but my point is if you've not tried mono, you really need to take this puppy for a spin. It's a great royalty free alternative to Visual Studio. And, it works just fine with native .NET dll's as well.