Help us understand the problem. What is going on with this article?

StoryboardとContainerを多用した開発のメリットとデメリット

More than 5 years have passed since last update.

Wantedlyで実際に開発しているstoryboardの一部公開してみました。

うまくいったなということをまだ公開してないアプリの実例を見せながら紹介します。

初めて作ったアプリでは、Containerの存在を知らず、TableViewをScrollViewControllerに埋め込んで、ページャーなどを実装していました。そのため、どうしてもコピペの多いアプリを作ってしまってました。

今回は、Viewの中にContainerをたくさん設置して、一覧を表示させる必要があるパーツはすべてUITableViewControllerを継承して作成しました。

スクリーンショット 2014-01-09 23.22.59.png

その結果、

一覧画面を表示したり、
スクリーンショット 2014-01-09 23.47.44.png

ローディングを出したり、
スクリーンショット 2014-01-09 23.53.15.png

通信失敗後の更新ボタンを設置したり、
スクリーンショット 2014-01-09 23.00.00.png

することが、ある共通のUITableViewControllerを継承したクラスを使うことで実装できました。
※ スクリーンショットはまだ開発中なのでそのまま公開されるかは分かりません。

メリット
・ContainerとStoryboardとの組み合わせが非常によく実装がすごく早くなった
・TableViewでの分岐も減り、ViewControllerのコードが減って読みやすくなった
・どのViewControllerがどのViewControllerが繋がっているかすぐ分かるようになった

デメリット
・TableViewを多用するため、そのままだとスクロールが遅くなる
・Storyboardがノートパソコンの画面だと見にくい
・Storyboardを多用するため、頻繁にトラックパッドを使う必要がある
・そのためノートパソコンでの開発が増えて、好きなキーボードのタイピングが遅くなった。。

最後は気持ちになってしまいましたが、デメリット多く書いてますが、それ以上に開発効率がよかったので、Storyboard上でStoryboardを設置して、UITableViewController使うのはオススメです。

Wantedlyのアプリも近日出しますのでお楽しみに!!
https://www.wantedly.com/

reikubonaga
MC DigitalのCTO。Ex-Wantedly Visitの開発チームのリーダ。 チームのメンバーやインターンに伝えたいことをついでにqiitaにも書いていこうと思っています。 MC Digitalはエンジニア絶賛募集中です!
https://www.mcdigital.jp/member/
wantedly
「シゴトでココロオドル」ためのビジネスSNS「Wantedly」の開発・運営をしています。
https://wantedlyinc.com/ja/presentations
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away