The Inquisitive Coder – Davy Brion's Blog

Trying to walk that thin line between intelligence and ignorance

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:

01

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:

02

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:

03

After that you can start working on your project:

04

I wanted to run it first to make sure everything was working:

05

I also wanted to try the integrated debugging so i put a breakpoint in the code:

06

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:

07

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:

08

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:

09

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:

10

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.

15 Responses to “Trying MonoDevelop On OS X”

  1. den Ben Says:

    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.

  2. Davy Brion Says:

    Learning Cocoa/Objective C actually isn’t that hard… it’s a pretty clean language, and the Cocoa frameworks are very nice

  3. Benny Michielsen Says:

    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.

  4. RCE Says:

    Den Ben: I think the iPhone option is probably for this.

  5. steinjak Says:

    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).

  6. John Bubriski Says:

    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 :)

  7. WayneB Says:

    Too bad you can’t use this kit without buying specialty hardware from a boutique shop. :(

  8. RCE Says:

    @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.

  9. Reflective Perspective - Chris Alcock » The Morning Brew #434 Says:

    [...] 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 [...]

  10. John Bubriski Says:

    @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.

  11. Shawn Neal Says:

    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.

  12. Gabriele Says:

    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.

  13. Brian Agnew Says:

    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.

  14. Lalli Says:

    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

  15. Trying MonoDevelop On OS X, Part Two | The Inquisitive Coder – Davy Brion's Blog Says:

    [...] 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 [...]

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>