Hacker News new | ask | show | jobs
by yawn 4936 days ago
I used MonoTouch at work (where price was not an issue) to convert an existing project to iOS. Aside from some minor complaints about the editor, the experience was amazing. I had previously written a couple of iOS apps using the "native" toolset, and I would not go back if I had the choice. While I understand your pain (I would gladly fork over $100 as a lone developer/hobbyist for personal development, but can't hand over $400), I think the price tag is completely justified.
2 comments

I've been playing with it on my own, and I tend to agree. MonoDevelop is still pretty rough--I'm doing game stuff, so I'm kicking any actual OS X development down the road as far as humanly possible--but once you get your code deploying, it's a very nice setup.

I'd really like a way to build in VS (maybe against dummy assemblies or something) and kick it over to my MBP for real compilation and deployment, though. I respect their desire to funnel users through MonoDevelop, but it doesn't step to VS+R#.

I'd personally love for JetBrains to do a C# variant of IDEA (+ R#) for us OSX/*nix folk. I have serious doubts such a beast would be commercially viable, though.

(Maybe R# for MonoDevelop? One can dream...)

Why not? Visual Studio costs thousands of dollars a license. They could even compete on price, not only features. Windows is a market for such a product just as much as *X is.
VS Professional is only $500, not "thousands of dollars". It used to be $300 for 2008 Pro, but even now it is still OK for an indie at $500.
MSDN is supposedly $100 for 3 years through BizSpark.
MSVS is free-$500; and has the significant advantage of both a direct connection to the .NET team and not being that bad of an IDE on it's own merits (not to mention being bundled in a MSDN subscription, which a MS-heavy shop is going to have anyway). It's far more viable on Windows for JetBrains to augment MSVS via R# rather than attempt to compete head-on when the deck is so stacked against them.
I don't think they're trying to funnel users to MonoDevelop, I think they're using it because the iOS SDK is for Mac.

Take a look at Mono for Android, for example. It uses a VS plugin instead of MonoDevelop.

I might be in the minority here, but I use MonoDevelop in preference to visual studio.

It's got a couple of irritating issues (the plugin support is rubbish even now, and it's ridiculously complicated to roll your own), but its just so fast.

My morning at work is: git pull, go get coffee while VS spazzes out for 5 minutes and resharper reindexes everything.

IMO, that sounds like an issue with your hardware. I use a three-year-old desktop with a Nehalem i7 and 16GB of RAM (or my rMBP with Parallels, which may be faster) and VS/R# is pretty happen even with 50+ projects and about 1600 source files.

Older machine? Overactive anti-virus or something causing file I/O pain?

What version of VS are you using? I found 2010 to be painful when opening large solutions (and Resharper does not help I agree). But if you can get past the new UI changes, 2012 overall seems a lot quicker to load up and (for me at least) provides a much smoother experience. My favorite thing: the "Reload All Projects" option, for times when you do a Get Latest on your root folder outside of VS and now 35 projects need to reload at once. This was just brutal in 2010 and older versions.
Nothing a bit of RAM and a fast CPU can't fix... Alt if you have a very large solution with multiple projects you could split it up...
I built a remote deployment/testing gizmo for Mono in college (admittedly crap, but I was a Summer of Code student, I was as terrible as advertised!). While not nearly as complex as remote building, I'm pretty sure it can be done.

I'd pay for MonoTouch like-right-now, even though the project I really want it for isn't near ready for it, if I could write in VS, press a button, and have it build and deploy on my Mac.

Can you go into some issues with the editor?
-As mentioned in the sibling comment, stability is a problem.

-Refactoring support isn't great. It's about on par with stock Visual Studio, but stock Visual Studio isn't good compared to VS+R# or IntelliJ. If you're writing "just" an iOS application, I can see this not being a huge deal, but my own use case is bringing over projects for OS X and iOS where I tend to have a lot of code and I'm very used to being able to do massive, contextual refactorings when needed. Can't do that in MonoDevelop.

-It's GTK#, so you have to accept that some stuff just doesn't feel native on a Mac. My mental map of keyboard behaviors no longer properly applies and it's jarring going between it and XCode or IDEA. It's gotten a lot better since I started using it on a Mac, to be sure, but it's not there yet. I compare it here to IDEA, which is also not Mac-native, but manages to feel a lot closer.

Now, one huge, huge plus, that I have to give them a ton of credit for: unlike Visual Studio, MonoDevelop is non-destructive toward project files. This is a power-user beef but a really important one once you get there; if you've hand-edited a csproj, Visual Studio will happily destroy all of your changes (it loads the csproj into an in-memory object model and writes it back out on save). This is infuriating when you have custom stuff in it - something as simple as a wildcard path in a file reference (which is totally fine as per MSBuild rules) will be mashed into a static list of all files at time of invocation. It is super bad, and if MonoDevelop improves some more I might switch to it, even on Windows, solely because of that lack of misfeature.

Not the original commenter, but as someone who's done a lot of work with it: it lacks a lot of the features that I've come to expect from basically any modern IDE, but yet manages to crash twice as much as any other IDE I've ever used (and that includes Xcode).