12

I am a total beginner in iOS development. However, I've done Java, PHP and Javascript at work for severals years, so I am pretty experienced with OOP and design patterns.

Xcode 4.2 adds the new storyboarding capability for laying out interfaces in iOS 5.0. Is storyboarding simply a wizard for beginner developers or does it have advantages for more experienced developers as well?

My coworkers and I (both beginners in iOS development) are debating whether one should learn and program iOS using traditional NIBs vs storyboards. What are the advantages that storyboarding provides over previous ways of laying out iOS interfaces? Are there disadvantages to this approach?

Brad Larson
  • 170,088
  • 45
  • 397
  • 571
sonoluminescence
  • 1,002
  • 1
  • 11
  • 28
  • 1
    Soliciting opinions generally doesn't work in the Q&A format of Stack Overflow, so I've reworked your question to be a little more specific about objectively comparing storyboarding to traditional UI layout techniques. – Brad Larson Nov 23 '11 at 20:36

6 Answers6

8

Learn the old way in case you have to do both (or read some legacy code). This goes for Arc too; I shudder to think of new Cocoa/Cocoa Touch developers not understanding the old managed memory model.

Alan Zeino
  • 4,406
  • 2
  • 23
  • 30
2

I think the automated and convenience methods will always cover the "common" cases, and that story-boarding is an example of that. A convenience which greatly simplifies and accelerates the development process. However, there will always be cases where these methods do not provide you with all you need in a given, unusual situation. Just like using the UI elements does not stop developers from going under the hood with core graphics, core audio and so on when they need to. It is definitely, I think, a part of the future of iOS development, but only being aware of that part would be a handicap. So would not being aware of it.

jbat100
  • 16,757
  • 4
  • 45
  • 70
1

I'm personally like the traditional nib file approach, where I have more control over its behavior programatically and not having to hack the stroyboard backward to get things done. And of cause, if you have few developer working in a project, it's always good that you don't have to spend time merging changes (since you have several nib file compare to storyboard file)

Andy
  • 5,287
  • 2
  • 41
  • 45
1

I, personally, dislike automated tools. I have no idea what happens below, what sort of surplus code is inserted, the style of code is not mine and hence I need to work on another person's code. I'm the one that needs to support it for rest of time, not whatever automated tool I may have used.
It is all the tedious abstractions that will help you understand what is going on, especially when you are new to a field.

DoStuffZ
  • 785
  • 15
  • 37
  • 2
    Actually I also hated automated tools such as Interface Builder and Storyboard because at first, I didn't feel the tool was comfortable and didn't know how it works. However, as I have been working on iOS projects a few years, it significantly reduces the amount of time. But I think as beginners, they should start learning without Interface Builder so that they know who the code works without a "black box" – Ryan Rho Dec 03 '11 at 04:18
0

I have compiled a list of about 15 reasons against using Storyboards: When to use Storyboard and when to use XIBs

Also, here's a tool that takes some of the pain away: http://github.com/jfahrenkrug/StoryboardLint

Community
  • 1
  • 1
Johannes Fahrenkrug
  • 42,912
  • 19
  • 126
  • 165
0

storyboard files seem to be more readable than xibs. both are xml files but the xibs seem to have unnecessary baggage and complexity.