I love me some Mono and love the Mono team, but Novell really screwed the pooch with the release of MonoTouch. It had such promise, write iPhone apps using C# instead of Objective-C. But it has some problems.
t requires XCode. – I’m not sure if they can get around this one. It seems like they should be able to. All XCode does is call GCC and compile the code. My guess is that it has to do with the licensing of the iPhone SDK and/or the iPhone libraries that you can’t distribute. If you could bundle the iPhone headers, it seems to me that you could compile an iPhone app on any platform that supports GCC.DOH! As Miguel reminds me in the comments, it doesn’t use XCode but the iPhone simulator is only available on Intel Macs. (1)
- It costs 400 frickin’ dollars. – So now, not only do you have to buy a Mac, pay Apple $99 per year to get in the App store (which is no guarantee) but if you want to use MonoTouch you have to pay $399 U.S.
So what you have to ask your self is: Is learning Objective-C something that I really can’t/won’t do to become an iPhone developer?
There are a lot of benefits to developing for the iPhone using MonoTouch. Access to most of the .NET library. LINQ is available, WCF. Miguel DeIcaza has a good explanation for why Monotouch costs $400, which he’ll talk about in an upcoming episode of Herding Code. But I think that the price is going to really slow MonoTouch adoption.
(1) That’s what I get for writing a blog post ahead of time and not reviewing it before it’s scheduled to post.