little cubes

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

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

ContextSection titled: 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.

ResearchSection titled: 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

StatusSection titled: 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