読者です 読者をやめる 読者になる 読者になる

からたちねみち

歌を作っています。Vocaloid、主に結月ゆかり、またはiPhoneアプリ開発

ストーリーボードを使うことのメリット、デメリット

iPhoneアプリ開発

ストーリーボードって使ったほうがよいのか、なにがよいのか悪いのかとてもわかりづらいと思いますので、約半年ほどストーリーボードメインで使ってきた私なりの感触を書いてみます。

 

f:id:bettychang:20160202234200p:plain

*さきほどいじっていたアプリのストーリーボードの画面 

メリット

画面のデザインを考えやすい

私が感じる一番のメリットはこれですね。なんといってもGUIなので、画面を見ながら配置をいろいろ試したりできるので、レイアウトを考えやすいです。UIの配置もそうですが、デザイン、色の相性や、画像の選定なども、ガンガンとXcode上で効率よく試せます。

まあこれは私が一人でデザイン系もやっているから感じるメリットでしょう。デザイナーの方が別でいるような環境でのプログラマー専門の方にはかなりどうでもよいことかもしれませんね。

オートレイアウトの勉強になる

オートレイアウトはかなり独特な概念なので、GUIで設定の意味を理解したほうがとっつきやすいです。コードで書くことももちろんできますが、画面のレイアウトの話なので、まず用語の意味や設定のこつをストーリーボードでマスターしたうえで、コードでの書き方を覚えるのが無難だと感じました。

コードの記述が減る

物理的に書く量が減ります。

 

コピペできる

最初しりませんでしたが、作った画面は簡単に複製できます。コードでももちろんコピペできますが、画面以外の記述があったりすると不要なロジック部分もコピーしてしまったりの考慮が必要だったりするかもしれません。

 

 

デメリット

設定が増えると重くなる

ビューコントローラーが10個とかになりますと、表示するのに数十秒かかったりします。。

 

アウトレットやアクションなど、コードとの連携が面倒

例えばボタンが20個用意した場合に、コード上にそれぞれのアウトレットやアクションを一つづつ設定しなければならず、作業がめんどくさいです(工数がかかる)。

アウトレットやアクションなど、コードとストーリーボードの設定で不整合が起こると落ちる

これは不要なボタンなどを消した際に、ストーリーボード上では消したのに、ソースコード上のアウトレットやアクションを消し忘れると発生したりシます。これが発生すると、原因を特定するのがかなり大変ですので、最近はストーリーボード上でなにかを消す前には必ずアウトレットの設定を確認して、先にコードの記述を削除するように心がけています。結構めんどうですね。

 

だいたいこんなところです。

どちらでやるか、というよりも、もっと双方の良い所を使い分けれるようになれればいいなと思っています。以上です。ご覧頂きありがとうございました。