Why not storyboard?


#1

First of all, i have a very good first impression of the book, it looks amazing. I have done some tutorials online, and all of them love storyboard and uses it all the time. I have also gotten very happy with storyboard and it seems to be an amazing feature. Why do you use XIB-files in the book and programmaticly add elements to the view? Is there some pros and cons? Very curious, and want to build apps the most scalable and performance-friendly way!


#2

There is a section in chapter 28 that details the pros and cons of using storyboards - I think it’s at the end of the chapter. Personally, I am disappointed that storyboards take a back-seat in this book, if not just because so many other learning materials use them almost exclusively.


#3

I also was a little disappointed that storyboard was completely excluded since its a bigger and bigger part of xcode. Can one of the authors please answer this:
[ul]
[li]What kind of development do you think big companies like facebook, instagram and twitter use? Do you think they also have XIB? Just wondering.[/li]
[li]I am currently working on a scalable application with a lot of information-transfer. Will the performance be much affected if i use storyboard since it will be some number of views?[/li][/ul]


#4

[quote=“simonkaspersen”]I also was a little disappointed that storyboard was completely excluded since its a bigger and bigger part of xcode. Can one of the authors please answer this:
[ul]
[li]What kind of development do you think big companies like facebook, instagram and twitter use? Do you think they also have XIB? Just wondering.[/li]
[li]I am currently working on a scalable application with a lot of information-transfer. Will the performance be much affected if i use storyboard since it will be some number of views?[/li][/ul][/quote]

We feel it is most important to understand how storyboards do what they do. We don’t want them to look like magic, so we introduce and discuss what makes them work (like navigation controllers, state restoration, etc) before we introduce storyboards.

Ultimately, if you rely on storyboards without understand the concepts that back them, you’ll back yourself into a corner that may be hard to get out of. We’ve seen it time and time again, and we feel this approach is the best way to master iOS development. Rarely will an application lend itself to a pure-storyboard approach. Often these are very simple applications, simpler than you’ll normally come across in the real world.

To answer your questions:
[ul]
[li]We teach at a lot of big companies, including one that you mention (Facebook, who also owns Instagram). In my experience, I’ve never once seen a company use storyboards. Sometimes they will use XIB files, but many do everything programmatically. One reason for this is version control; traditionally, XIBs and storyboards have not played well with version control systems because merge conflicts were very difficult to reconcile. Although the new format for XIBs and storyboards with Xcode 5 have alleviated some of this trouble, reconciling merge conflicts is still a problem. Since many more people are likely to work on a single storyboard file concurrently compared to a XIB file, the problem is exasperated with storyboards.[/li]
[li]Storyboards won’t really have any more or less views that using a XIB or programmatic approach, so no, I do not see any reason why performance would be affected.[/li][/ul]


#5

The version control issue is definitely a strong argument against storyboards in a multi-team environment.

I can see why readers new to programming or early in their programming career may prefer more storyboards, but as an old man in the game, I definitely prefer the BNR approach. I started life as an assembly language programmer and, since then, always want to know what goes on under the hood as it were. I always feel that gives a deeper understanding of the higher level concepts and can help avoid many problems.

If anything, I would love to see more low-level detail regarding things like the iOS event loop, the scheduling of some of the messages that are sent by iOS, start up sequencing etc., but understand that would be way too much for this text. So what I have been doing is using this as my primary text, and supplementing it with a couple of more resources to flesh out the details.


#6

This explains everything.

Thnks for take the time to reply.

Regards


#7

I’m a new iOS developer and I upgraded to Xcode 6 recently (coming from the Microsoft world, how bad could an upgrade be?).
You can imagine my dismay when I found that it not only breaks the projects from the book, but the overall approach to creating interfaces (in IB or code) is quite out of line with the “new way.”

I’m not sure what’s more frustrating:

  1. That Apple can be so out of touch with how seasoned developers work OR
  2. That seasoned developers can be so out of touch with how Apple is evolving their IDE (the only mention of storyboards is in the last chapter). :frowning:

So, to the authors, how would you recommend that a new iOS learner proceed:

  1. Re-install Xcode 5, pretend that storyboards aren’t a thing, and carry on OR
  2. Try to adapt the book chapters to use storyboards on a case-by-case basis.

#8

[quote=“charliehess”]I’m a new iOS developer and I upgraded to Xcode 6 recently (coming from the Microsoft world, how bad could an upgrade be?).
You can imagine my dismay when I found that it not only breaks the projects from the book, but the overall approach to creating interfaces (in IB or code) is quite out of line with the “new way.”

I’m not sure what’s more frustrating:

  1. That Apple can be so out of touch with how seasoned developers work OR
  2. That seasoned developers can be so out of touch with how Apple is evolving their IDE (the only mention of storyboards is in the last chapter). :frowning:

So, to the authors, how would you recommend that a new iOS learner proceed:

  1. Re-install Xcode 5, pretend that storyboards aren’t a thing, and carry on OR
  2. Try to adapt the book chapters to use storyboards on a case-by-case basis.[/quote]

Take a look at this post: viewtopic.php?f=481&t=9361