iPhone SDK XCode and Visual Studio
I ran across this, quite by accident, and it was spot on: http://weblogs.asp.net/jezell/archive/2008/07/06/iphone-sdk.aspx
I have family to pay attention to, having spent way, way too much time trying to write an iPhone app, so I’ll be brief and to the point.
The iPhone is probably the most disruptive, innovative and important personal technology device in the last 10 years. It changes everything. It is worth paying attention to and worth investing in.
That being said, the platform for developing iPhone apps is far from ready for prime time. Innovative and thoughtful early adopters will profit, most certainly, but most apps are going to fade into oblivion.
The sdk, Objective C, XCode and the entire iPhone development toolset is disappointing. This is probably underscored by my recent experiences using Microsoft tools. The recent development of Asp.Net MVC from Microsoft has brought web development into the realm of productivity and satisfaction. I thoroughly enjoy building web apps using the modern tools and language features and can’t say enough positive things about it. Jumping off to xCode and iPhone development has been trying to say the least.
First, and foremost, iPhone sdk documentation is pathetic. The best one can find are a few scattered tutorials where some teen age kid is putting together a UI that gets the intended screens in place but wreaks of the most costly and short sighted practices I’ve seen since VB 5. Yes, you can point and click and cut and paste until your heart is content but the minute you wish to change something you will be paying the price for your technical debt to bad architecture and design. If I google something in Asp.Net MVC, I find 10 resources immediately. Its still a preview technology. iPhone is out, released, production. Googling basic issues results in nothing. Part of that is the Apple “must be logged in to see this” nonsense. Please, Apple, stop it. Take the passwords off your documentation. Let Google bring me to the resources I need. When I do find tutorials, they are often based on the last drop of the sdk and they don’t work. This is very frustrating. If there were documentation or tutorials that worked, then I’d accept it. But there aren’t any.
Finally, there is this Apple iPhone MVC thing that is supposed to provide a pattern for implementation. However, I can’t seem to figure out how to actually implement MVC for the iPhone sdk! There are xib files and UIView classes. These make up most of the outlets and actions. Then there are UIViewControllers but they don’t receive nor host the actions. Then there are delegates. It seems to me that we’re in a more event driven UI-centric environment where nothing is documented and you are supposed to just discover the right path. Inevitably, the wrong path leads to the screen you need and some high-school kid with more time then foundation puts together a video tutorial and explains, in his braces enhanced D&D DM narrative, how to wire it all up.
The last thing I want to point out is that tabbed Visual Studio is amazing once you see what happens when Windows get loose all over your desktop. Holy crap can you get lost with Interface Builder, xCode, and all the little windows it manages strewn all over your desktop.
So, where credit is due: thank you Microsoft….and where work is needed, Apple, please consider improving your documentation and tutorials and doing some consumer research with developers who have never touched cocoa before.Let me close by saying I still LOVE my mac and absolutely think Apple does amazing things. I’m your biggest fan! But then I am also a Microsoft fan so that makes me “different”
August 20th, 2008 at 7:21 am
I am a full time .NET programmer who makes web pages, web service and web sites in C# using ASP.NET. My company decided to make an iPhone application and one day I had a Mac on my desk and about 50 images from our designers on what the app needed to look like and do. The learning curve is large, there is no doubt about that. But you say: ‘iPhone sdk documentation is pathetic’. That is just plain wrong. I would KILL for Microsoft to document the .NET framework anywhere near as easily usable and thoroughly as Apple did with the iPhone. The app I am making has me going back and forth between making the server side code (C#) and the iPhone code. I now officially look forward to the days where I don’t have to pull out Visual Studio. It seems more like you just haven’t learned ‘the Apple way’ yet and you are stuck in the same world I was, the backwards Microsoft world. I would like nothing more than to give up .NET development all together and just use Xcode and objective-C now that I gave it a chance and learned how to use it.
September 3rd, 2008 at 10:57 am
I posted more on this topic, just now, and then found your comment. I’d love to hear where you found this documentation that is “easily usable and thorough”. What I have found is a bunch of password protected documents that cannot be searched.
I am learning how to find what I need. I’ve gotten accustomed to ignoring 30 “syntax errors” and instead just find the last line of code I changed to see if I missed a semi colon. That’s usually the case. Wouldn’t a “expected ;” be more useful?
That’ll keep me from being lazy.
You said, “…But you say: ‘iPhone sdk documentation is pathetic’. That is just plain wrong.”
Fine. Can you please point me to the documentation? I am not talking about class reference documentation. I’m talking about use and best practices. In visual studio, I have MSDN and reflector to figure out basically anything and an awesome debugger. Its made me a bit dependent, I’ll admit it.
..anyway, thanks for the comment. I hope to feel like you do in a few more weeks