Some of the highlights of this book include a helpful Pro/Con list at the beginning to help you decide if learning Objective-C and using CocoaTouch to write an iPhone app is what you want to do. It would have been nice to also cover, or mention, the Appcellerator mobile framework to build native iPhone applications. There are two great chapters that cover using client side storage in your applications and also techniques for making sure your applications work when the phone is offline.
My theory is that in 2 years there will be so many applications in the iPhone app store that it will be impossible to achieve success. That only the early developers will find any measure of success.
I say this because it seems to be the way the Apple software ecosystem works. There are a few applications, written by developers who have been working on the Apple platform for a great number of years, that are constantly recommended and very successful.
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.