Storyboardについて発表してきました

SWWDC 仙台iOS開発者向け勉強会で Storyboard について発表してきました。
今までInterfaceBuilderすら毛嫌いして使ってこなかったのですが、他の開発者の方から便利になったと聞いて色々と試してみました。現段階ではデメリットはあるものの、メリットの部分が大きいので利用する価値は高いです。まだまだ発展途上のツールに感じますが、今後こうなるだろうなという方向性も見えてくるように思います。

  • Storyboardの特徴 (IBとの違い)
    • トランジションをUIで定義できる
    • UIで設定できるパーツのプロパティが増えた (User Defined Runtime Attributes)
    • TableView Static Cellsの機能が増えた
  • Storyboardを使うメリット
    • コード量が減る
    • 第3者がアプリ全体を把握しやすくなる
    • 画面間の設計が疎結合になる
    • 簡単なTableViewであればUI操作のみで作成可能
    • デザイナとプログラマの作業領域が分離しやすくなる
  • Storyboardの痒いところ
    • モーダルコントローラのdismiss処理はコーディングが必要
    • Static Cellsが利用できるのはUITableViewControllerの継承が必須
    • User Defined Runtime Attributesで設定できる型が少ない

一から作成することを目的としたので、ほとんどライブコーディングで行いました。
EmptyApplicationから作成して、簡単なトランジション、遷移間パラメータの受け渡し、CustomSegue、NavigationController、TabController、User Defined Runtime Attributesなどを使って試しています。

資料と作成したサンプルプロジェクト

サンプルプロジェクト

https://github.com/hmori/StoryboardTest



今回、開場はBeehive+さんのお店だったのですが設備も充実してて勉強会にも十分使えそうな雰囲気で良かったと思います。