As I’m learning the iPhone API, the book I’m using has me doing everything possible with the Interface Builder. We (lonely here sometimes) are writing code, too, but I really feel like I’m getting to know the Interface Builder quite well.
I know that the Interface Builder is different from other GUI Builders as it uses serialized objects and doesn’t write code. This is supposedly a good thing. So…in day-to-day work, is it the tool of choice, or should I try to get over my dependence on the Interface Builder?
Also: if you suggest that “it depends on what you’re doing,” what does it depend on? How should I make the decision to use the Interface Builder or not?
Note: The subjective and argumentative version of this question was titled, Interface Builder: Serious Tool or Just For Kids? but I decided against it since I want to avoid getting the question closed.
Interface Builder really is used to make apps. Take a look at any Cocoa-based Mac app — which is most that aren’t by Adobe or Microsoft — and you’ll see it’s full of nibs. It’s slightly more common for iPhone apps to be made without Interface Builder (because the original SDK shipped without IB), but it’s still a very commonly used tool.
The difference between Interface Builder and most other GUI builders is that Cocoa and Interface Builder were designed with each other in mind. In fact, if you search the Cocoa mailing list archives, you’ll find lots of people over the years wondering how it’s possible to make a Cocoa app without using Interface Builder. (The answer is always the same: You can do it all in code, but you’d just be wasting your time and making it harder to design a good interface.)