Monday, June 08, 2009

Why do iPhone Development Tools Suck?

So I'm finally getting started with iPhone Development and I just have one question: Is there some reason the integration between Interface Builder and XCode is so crappy? When I browse the various iPhone tutorials it seems like 90% of the coding they have to demonstrate is stuff the tools ought to automatically do for you. And did, way back in the days of the Newton Toolkit. Does Apple not use its own tools? Are the various dev teams not on speaking terms? Or does somebody at Apple just hate developers? :-)

I'm beginning to wonder if I shouldn't bother with iPhone apps but should instead write a decent Interface Builder. Something where, when I drag a button into a view, inspect the button, give it a name, notice that it has some sort of on-click event associated with it, I can double-click on the name of that event to immediately edit the code that will get called when that event happens. Without having to declare that method or name it - the stub gets created for me in an appropriate location. I'd just write the stuff that goes *inside* the stub function, thereby eliminating multiple opportunities to type something wrong or leave something off and screw it up. Also eliminating multiple context switches back and forth between IB and XC. A good tool should fade into the background; this does the opposite. I still could move the function elsewhere or call it in a different way if I wanted to, but I wouldn't have to; the base case would just work.

UPDATE: It looks like I need to check out accessorizor. It doesn't fix the problems with Interface Builder integration but it can automate away a lot of tedious and error-prone Objective C structure.


At 2:40 AM, Blogger John T Davies said...

I have to agree, I'm just in the beta stage of an application and I must have wasted days, even weeks messing around with XCode and associated tools. Your example is a good one, I found it so unintuitive that I ended up doing everything in code. Finally I'm getting to grips with the graphical designer but it's just not what it could be, or should be.

My biggest frustration is the lack of re-factoring and context sensitive highlighting in the editor. I'm originally a C/Objective-C/C++ programmer, I moved on to Java in the 90s and got spoiled with tools like JetBrains' IntilliJ, there's nothing to touch it for Java development. After a good two months of iPhone development behind me I still find Emacs a better development tool. Why is my 25-30 year old editor still better than Apple's XCode?

Apple please buy JetBrains and revolutionize your SDK.

Twitter: @jtdavies


Post a Comment

<< Home