Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Advantages and disadvantages of using Storyboarding? [closed]

Tags:

I've been writing iOS apps for a while now and gradually went from doing the UI entirely programmatically to using the Interface Builder intensively. I'm now thinking about using the new Storyboarding feature for some of my new projects, but I don't have enough experience or knowledge with it to calculate the advantages and disadvantages of doing so. Can anybody give some examples or information about when using Storyboarding payed off and when it was a waste of time?

like image 889
cvursache Avatar asked Feb 20 '12 12:02

cvursache


2 Answers

Advantages of Storyboarding

  • It's cool - suave way to design interfaces
  • Use of StoryBoardSegues to identify navigation/modal relationships
  • If your app supports multiple devices, good way to organize different views (by storyboard file rather than naming, etc)
  • Nice for prototyping
  • Prototype UITableViewCell can save time

Disadvantages of Storyboarding

  • It's a runtime feature, so I believe it is only available in iOS 5
  • StoryBoardSegues are kind of rigid in my experience and you may make use of prepareForSegue a lot
  • Like IB, not very friendly with other display engines and toolkits
  • Makes it hard to share designs for a single view or set of views - you have to send all or nothing

These seem kind of superficial, I guess I haven't given it much thought... At first I was gung-ho about story boards, but now I've reverted to IB or even just programatic view configuration... The more I use them, the less I like them, and the more they feel like a gimmick/waste of time.

Edit

I wrote this answer a few years ago. I have left it the same as before for posterity, although some points are likely no longer relevant (ie the fact that it requires iOS 5+).

After some time, my opinion hasn't changed on storyboards. As others have mentioned, they're okay if you are working solo on an app with few views to manage, but they become a real pain with source control & collaboration. In addition, I prefer one-file-one-object, and storyboards obviously bundle stuff together (as does IB, but to a lesser extent).

If I were writing an app meant to be maintained for any serious length of time, I would go with programmatic view configuration over IB, but definitely IB over storyboards.

like image 61
tacos_tacos_tacos Avatar answered Sep 26 '22 02:09

tacos_tacos_tacos


Another disadvantage with Storyboarding not mentioned is that merges can be very difficult if not impossible if there are conflicts.

Update: It also occurred to me that it puts logic in two places. If your segue is not doing the right thing it might be because of an error in prepareForSegue or it might be because you named your segue incorrectly. Doing things programmatically is, in the end, not that hard.

like image 24
Ray Fix Avatar answered Sep 25 '22 02:09

Ray Fix