Up until about 6 months ago I was a Windows only developer. I thought it would be cool to mess with other operating systems and languages but it just wasn't worth the time. I'm one of those devs that is more interested in creating software than learning new ways to create new software. Don't get me wrong, I'm always impressed with those people that knows 14 different languages on 3 different operating systems -- but I just don't aspire to be that guy.
However, Mono has really opened up opportunities for me that weren't available before. If you don't know what it is, the easiest way to describe it is .NET everywhere. Write something in .NET and use it on Windows, Mac or Linux.
Mono doesn't just apply to desktop apps either. You can actually write WebForms or MVC apps as well. Heck, there is even a cross platform Silverlight called Moonlight. Yes, it really is that awesome.
Another advantage to Mono is that you can use free operating systems to build a web server but still use the language and framework that you are used to. This is especially handy if you don't have the budget to pay for Windows and MSSQL licences to get a website off the ground. Keep in mind that Microsoft did create the awesome BizSpark program which helps eliminate the costs but not indefinitely.
Since Mono works anywhere, you can technically use any system you want to start developing, but if you're like me, a strictly Windows developer, then I recommend that you use an alternate operating system. Messing with a new operating system can be fun but the real advantage to this is you get a chance to work with something new that you might end up using in the future (for example, MySQL).
Below are a few links that can get you started...
- Mono: Information about Mono and the different apps available for it. (You might not use this page for installation though...)
- Wubi - Ubuntu Installer: As good as VirtualBox is, Wubi installs Ubuntu onto your computer without requiring that you format your computer to create additional partitions. Not only that, but Wubi installs Ubuntu in such a way that you still have access to your primary OS'es files - awesome! (thanks to @lazycoder)
- Mono Develop: Awesome, Open Source IDE that lets you easily write and test Mono code. I won't say it is as good as Visual Studio but it is really quite good.
- Installing Software On Ubuntu: This will probably be the weirdest part for a Windows developer. This page has some good information to get you started.
November 15, 2009
More On Cross Platform Development
Tools to help Windows developers get started on other platforms.