Storyboards are a powerful yet oft maligned tool for controlling the flow of your iOS app through configuration instead of code.

The storyboard approach in theory allows a clean separation of flow and presentation that provides greater flexibility to change. The reality though is that view controller code typically ends up becoming deeply entwined with the storyboard itself, leading to inflexible, oft duplicated code. 

This approach can leave many an experienced developer wondering "is it worth it?" and becoming wary of its use. In this session we take a fresh cut - we pick up the story where other 'architecture' approaches don't tread and learn about a powerful approach to maintaining the separation of storyboard from view controller that delivers on the promise of flexibility and less configuration in code.

6 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist

Outline/structure of the Session

Presentation Format.

- Introduction to Development with Storyboards for iOS

- Summary of Issues

- Summary of Alternatives

- Walkthrough of Solution and the Visitor Design Pattern

- Demonstration of Solution

- Summary and Links to Examples

Learning Outcome

This talk will share a technique that makes powerful use one of the oldest but least understood design patterns in the book "The Visitor Pattern" coupled with the modern language features of Swift. It also will introduce the concept and advantages of "meta-programming".

Learn how to make Storyboards are more compelling tool that grows with your design and can be at the heart of the architecture of a modern well architected Swift app.

Target Audience

Intermediate iOS Developers


A solid understanding of iOS Development. A working knowledge of some popular Gang of Four design patterns.

schedule Submitted 4 months ago

Comments Subscribe to Comments

comment Comment on this Proposal

  • Liked Phil Parker

    Phil Parker / Van Le - Xinja - Building Australia's First Mobile-First Bank

    30 Mins
    Case Study

    This talk is an Experience Report sharing the highs, and the lows, from the first few months of building Xinja - Australia's first digital bank, designed entirely for mobile. A talk from two perspectives; both Business (Van Le - Customer Innovation Director, Xinja) and Technology (Phil Parker - Partner, Equal Experts) will share the journey we are going on… warts and all!

    We will share how we manage priorities when developing with our customers (shout out to our founding Xinjas!), how developing a startup does not mean being technology lightweights (or cowboys) and how we manage to be effective with a highly distributed, global team.

  • 45 Mins

    Automated Acceptance Testing is one of the essential ingredients of a healthy agile software practice. Unfortunately, attempts to adopt this on mobile usually result in the creation of slow, brittle and highly complex UI tests - where did we go wrong?

    This approach is a far cry from the original idea of acceptance testing and does little to improve the reputation of mobile development. Automation is meant to bring confidence – but used in this way, it creates more problems than it solves. This leaves development teams and businesses left on a seemingly never ending quest for the next thing - usually in the guise of a new framework promising to be better than the last e.g. KIF, Calabash, Appium etc.

  • Liked Nick Moore

    Nick Moore - The Internet of (Not Shit) Things

    Nick Moore
    Nick Moore
    Software Consultant
    schedule 5 months ago
    Sold Out!
    45 Mins

    Trying to better understand the problems of the Internet of Things by actually listening to its detractors. There's a lot of valid criticism of the Internet of Things, generally under the catchy phase 'The Internet of Shit'.

    This talk is a light-hearted look at the problems of existing IoT devices, and how to be constructive by transforming criticisms into requirements for a better Internet of Things. And we'll look at some of the proposed solutions for better ways to do IoT.