little cubes

What's the best way to create a UI in iOS?

Zach Posten - 2015 Mar 18

There are at least three completely different ways to create a UI for an iOS app.

Context

  • In lab for the last two weeks, we have been doing a lot of 'dragging and dropping' in order to both create the user interfaces, and even generate some of the necessary code for our applications. This is very different from how I've created user interfaces in the past and got me wondering if it was the preferred method.

Research

  • I found an article written by Chris Ching on his website codewithchris.com discussing this very topic
  • Using XIBs Pros Straightforward for small apps You can have seperate XIBs for different localizations Cons It's difficult to manage conflicts when working with a team Highly dynamic views are impossible * Lacks customization which is possible to do with code
  • Storyboards Pros Nice for appps with a small to medium number of screens where the requirements for navigation between views is relatively straightforward You can mock an application without writing mich, if any, code Apple seems to be pushing this method Cons Not compatible with pre-iOS 5, so it makes supporting iOS 4.3 impossible * Again, working in parallel with a team is difficult
  • Creating Views Programmatically Pros Easier to merge conflicts and diff lines of code than an XIB file or storyboard You can trace through code when debugging and not have to look at the Interface Builder Gives you more control and free reign Cons It's harder to visualize the UI and grasp a mental picture of what it will look like * You can't visually position elements

Status

  • Not completely resolved
  • The referenced article was written in 2013, and we all know how fast mobile technologies change.
  • I was not able to to find enough information to generalize the community's opinion on the topic