views:

433

answers:

3

Hey guys

I'm a .NET web developer and just bought a new Mac.

I'm interested in developing, and debugging .NET in OSX, but I'm not interested in deploying to OSX. Although, in the future, I will be interested in deploying to Linux.

What are your experiences with Mono web development in OSX?

In particular, how does it compare in terms of Mono web development in Windows, and also Visual Studio 2008 web development in Windows.

I'm particularly interested in the web development experience in OSX, i.e. the IDE, and the debugging experience.

But I'll also want to maybe develop and debug cross platform, and windows only, Services...how would that work in terms of developing in OSX?

cool, cheers guys

EDIT

Note that I'm not interested in any kind of emulation, only native OSX dev using whatever Mono IDEs that are available.

+2  A: 

If you're developing .NET on an OSX machine, but for deployment to Windows, I'd just use a Windows installation with Parallels in Conherence mode. Then you can just develop normally on Visual Studio. I do that three times a week and haven't had any speed issues, just make sure your machine has a good amount of RAM.

phoebus
cool, thanks phoebus, but I'm really interested in the native OSX dev experience, without any kind of emulation. I'll edit my question to make that clear. cheers though
andy
Yeah the main reason I say the above is because of the kind of thing jro is talking about; if you actually want to do .NET development and you're targeting Windows, there's just not much reason to use anything besides Visual Studio. If you're really interested in Mono development for Mono's sake, though, MonoDevelop is probably the best tool available...it's just not very good compared to VS.
phoebus
Oh, and just to be nitpicky: Parallels hosts VMs, it doesn't emulate.
phoebus
+2  A: 

My own experience has been less-then-stellar.

The IDE: MonoDevelop is a decent tool, but it is not ready for hard-core development when you roll debugging into the mix. It's unfair to compare it to VS2008, but MonoDevelop just feels like a generation (or two) behind. As soon as debugging with breakpoints is rolled in to the mix and processes can be attached, it will feel like a stronger IDE. Debugging in OS X is behind Linux in certain aspects, but the team continues to rev the code on almost a weekly basis, so my comments can be stale rather quickly.

ASP.Net development: I haven't looked at this in a while, but support has been lacking until recently. I see comments that relate to support for ASP.Net MVC, but haven't tried them myself. The last time I looked at asp.net support, I was developing in Ubuntu, so your mileage may vary.

Platforms: Windows seems to have the best experience, then Linux, then OSX. However, I don't find Windows development on Mono so much better than Linux and/or OSX.

One of the biggest differences I've found is the progression of the framework and the distance from the Mono team. The Mono development cycle has always had to play catch-up, but the project hasn't seemed more disparate in terms of BCL conversion than the latest version of the framework. It's not huge, but the little differences start to make themselves apparent. You don't realize how much you use certain things until they aren't there.

Nonetheless, I'm a huge proponent of seeing robust Mono support on other platforms, including OSX for development and Linux for deployment. Hopefully the team will continue to refine their tools and bring the development experience to an A-grade level.

jro
excellent info jro, thanks so much. Yeah, would be really good to do robust dev in other platforms, and then deploy to Linux. I'll try it out I guess.
andy
A: 

My experience is that Mono and it's toolchain works best on Linux. The IDE is written to heavily use Linux native libraries like Glib/GTK+. I think on OS X it's missing designer support also. .NET is ahead of Mono, but it's not like an impossible gap. For instance Mono supports Linq and C# 3.0 features. But no WPF/WF and alpha-quality WCF atm. I never tried ASP.NET on Mono so I can't comment.

joemoe