Trying MonoDevelop On OS X
Posted by Davy Brion on September 15th, 2009
As some of you already know, i’m a long-time Mac user. At work i obviously use Windows, but at home i only use Windows (through VMWare) when i want to code in Visual Studio. Other than that, i stay away from Windows as much as possible because i simply don’t like it. The recent MonoDevelop 2.2 beta release promises OS X support so i wanted to try it out.
Unfortunately, there is no integrated installer for both Mono and MonoDevelop, so you’ll need to download and install Mono separately. I used the stable 2.4.2 version which i downloaded here. After that, i downloaded and installed the 2.2 beta1 release of MonoDevelop here.
Installation is extremely quick and easy, so after a couple of minutes you have this on your screen:
Doesn’t really look like a typical OS X application due to the GTK+ usage, but we can live with that
I then wanted to create a new project:
There are some interesting project templates there (notice the iPhone and Moonlight options) but i just selected a regular console project. After doing so, you get some interesting packaging options for your project:
After that you can start working on your project:
I wanted to run it first to make sure everything was working:
I also wanted to try the integrated debugging so i put a breakpoint in the code:
Unfortunately, running it with the debugger (that icon isn’t shown in the screenshot because it’s not visible when you reduce the size of the window to the size shown in the picture) didn’t make it break on the breakpoint… it just showed the output as it does when not running with the debugger. I then looked in the solution options to see if i had to enable debugging or anything like that. Didn’t really find any debugging related settings (i was hoping for a ‘make it work’ checkbox or something like that) but i did see this:
You can set a few formatting options (obviously not as many as a Resharper user is used to) for your C# code, which is definitely a nice and important touch. Unfortunately i got the following exception when saving my changes:
A very nice addition here would be a button which allows you to automatically report the bug with its stackstrace to the MonoDevelop team. It would benefit both the developers and the users so i hope they will add this soon.
I also looked into some project specific settings and you’ll find plenty of familiar options there:
Alright, enough with the settings… let’s start coding! Once i added the new file, i was slightly disappointed with the unnecessary whitespace in the file:
Most people will just delete this every time anyway, so it would be better if empty classes were created with as little excessive whitespace as possible.
And then i started coding. Well, i tried to. The editor was unbearably slow on my Macbook. Ok, it’s not the fastest machine (Macbook 2.1, 2.16Gh Core 2 Duo and 3GB RAM) but it should definitely be capable enough to write and edit code in a usable manner. The editor would lag so much behind my typing that it was just completely unusable. It’s not because i type fast or anything, because it was unusable when typing slowly as well. After a couple of lines of code, i simply gave up. From what i did saw, it has simple code completion and intellisense support so that’s nice. But i really hope they can seriously speed up the editor soon.
All in all, i am hopeful that MonoDevelop on OS X will become a reasonably viable solution in the near future. It’s a simple IDE, nowhere near as powerful as Visual Studio (let alone one with Resharper) but it does have most of the important basics that you’ll need. At this point, i don’t consider it usable (after all, writing and editing code is fairly important) but i really hope that the MonoDevelop team will fix this soon. It would be very nice to be able to use this successfully on OS X.










September 15th, 2009 at 10:19 am
Hmmz… looks to me that it will still take quite a long time before this ever will become usable; if it even will at all.
As for the iPhone option: I call that very wishfull thinking
I guess for us .net developers there is (and probably never will be) no cheap shot trick for developing OS X applications. If we want it, we’ll have to climb the steep Cocoa/Objective C route.
September 15th, 2009 at 10:22 am
Learning Cocoa/Objective C actually isn’t that hard… it’s a pretty clean language, and the Cocoa frameworks are very nice
September 15th, 2009 at 12:34 pm
You could use http://www.monobjc.net/ to create a native UI for OS X and link it to you mono/.net code. Haven’t tried it out yet.
September 15th, 2009 at 1:23 pm
Den Ben: I think the iPhone option is probably for this.
September 15th, 2009 at 5:13 pm
I’ve tried the same on Linux (it’s supposed to work fine on lnx, right?), but I ran into the same problems as you (unusable editor). It seems we’ll have to continue carring our work-laptops around whenever we want to write C# code for fun/at home (or go back to the best editor of them all (emacs!) and use old-fashioned Makefiles/build scripts).
September 15th, 2009 at 9:12 pm
I was skeptical at first, but considering how quickly the Mono team (Miguel de Icaza) is implementing features (I think they are almost caught up to .NET 3.5), I have faith that they will make this editor work well.
What good is a language without a half decent IDE??? In any case, you could develop all your code in windows, and then just compile it using Mono right? So you never really need to use a Mac
Also, as RCE mentioned, they are also working on MonoTouch, the API thingy for iPhone development using .NET code. Is it going to be perfect? Of course not! But hey, it’s free so don’t complain
September 16th, 2009 at 3:11 am
Too bad you can’t use this kit without buying specialty hardware from a boutique shop.
September 16th, 2009 at 6:29 am
@John: I think it’s that attitude that has the potential to wreck a lot of OSS projects. You should make (valid) complains, otherwise the program/library/kitchen sink won’t improve.
September 16th, 2009 at 9:13 am
[...] Trying MonoDevelop On OS X – Davy Brion dips a toe into the world of cross platform .NET Development exploring the MonoDevelop IDE running on OS X [...]
September 16th, 2009 at 4:14 pm
@RCE: I’m not making any complaints… I’m not sure what you mean by “I think it’s that attitude that has the potential to wreck a lot of OSS projects”… If anything, it can fuel them. .NET applications can now be easily ported to other platforms! If you’re a .NET developer who writes open source software, your audience has now multiplied because your code can be run on Macs and Linux machines.
And I was joking about the complaints. I’m sure they are aware of the major shortcomings of the IDE as of today. Seeing as they are developing an IDE to write C# code, I’m sure they’ve all used Visual Studio, which is a pretty good IDE.
Maybe you didn’t understand, but I LOVE the IDE of being able to run my code on any machine. The only reason I program in .NET is because it’s such a joy.
September 17th, 2009 at 12:37 am
A few months back I tried the latest trunk version on Ubuntu and it was not a pleasant experience either. It kind of worked, but was not better than a regular text editor for numerous reasons: debugging not working, NUnit not working, intellisense not working. That and the fact that the mono compiler kept crapping out trying to build MonoRail wasn’t pleasant either. At some point I’ll try it again on an official release.
September 17th, 2009 at 5:25 am
The 2.2 beta 1 build did indeed have the incredibly slow response in the text editor, I just tried the latest trunk build of MonoDevelop from http://monodevelop.com/Download/Trunk_Builds and this seems much more usable at first glance. I’ve only been using it for a couple of minutes however, so I may be back shortly to correct myself.
October 5th, 2009 at 5:43 pm
I suffered the same problem. However, I then turned off syntax highlighting, code folding, and code completion. The problem went away (as I suspected). I then turned each of the above back on (in different orders) to identify what caused it. I am now back to having everything enabled, and it runs much faster than before.
Perhaps I’ve missed something, but I believe I now have it back to the default state but with acceptable performance. Perhaps it’s worth playing around again with this.
October 21st, 2009 at 3:04 pm
I had exactly the same text editor freezing problem with my MacBook Pro, but after restarting the MonoDevelop, everything is fine. The preferences menu was also freezing. The problem existed only at the first start of MonoDevelop.
MonoDevelop 2.2 Beta (2.1.1)
Mono 2.4.2.3
December 19th, 2009 at 11:35 am
[...] played around with MonoDevelop 2.2 beta 1 on OS X a while ago. Back then i considered it promising, yet unusable due to the fact that writing and editing [...]