Storyboardなんか使わない方がいい
iOSアプリを趣味やら仕事やらでほそぼそと作っていますが、
Storyboardを使う意味がよく分かりません。なんなんでしょうあの子。
でも
「なんで必要ないの?」
と聞かれると
「なんか色々めんどくせぇ。てやんでぃ」
としか言えなかったのですが、「ここがめんどくさい!」という部分がまとまった記事がありました。
⇒ Q. StoryboardとXIBはどう使い分ければいいんだろうか? – Qiita
最近よく見るQiitaのまとめです。
(どうでもいいけどここに投稿している人ってみんなエンジニアなのにどうして自分のブログとかに書かないんだろう。使いやすいのかしら。)
ってなわけで、
Storyboardがいらないという理由の要点をまとめてみます。
Storyboardがいらない理由その1 「こんがらがる」
小規模ならまだしも、
規模が大きくなるとその分ページが増えて行きます。
こちらの画像はApplivのアプリのStoryboardです。(画像元:Catcher in the tech)
(執筆時にはApp Storeから消えてました。何かあったのかな。)
どうでしょう。
確かに一見仕事してる感がムンムンと出てて、
なんか待ち受けにしたいくらいカッコいいです。本音を言うと、したくはないです。
ここに新たなViewControllerを追加する場合、
拡大したりスクロールしたり、色々探しまわって繋いで…
想像するたけで、汗がタラタラ出て来ます。本音を言うと、出て来はしないです。
Storyboardがいらない理由その2 「チーム開発に不向き」
Storyboardでコンフリクトが起きると、これを解消するのがすごく大変。
コードレビューも大変。打ち間違いに気づかない場合も多いです。
あと性格にもよりますが、ViewControllerをさっきの画像のようにきちっと並べたい。
誰かがズラしたり、新しいViewControllerが挿入されると直したくなります。でもまたズレるのさ。
Storyboardがいらない理由その3 「柔軟性がない」
おそらく一番大きな理由でしょう。
「このタイプのセルの背景はこの色で統一しよう。」⇒#defineで用意した値を入れられないから、スクロールして拡大して、探し回って同じ色を入力しなければならない。「やっぱり違う色にしよう」⇒スクロールして拡大して、探し回って…「あ、待って。やっぱりこの色にしよう」⇒ゲロゲロ
UIImageViewの上にaddSubview出来なかったり、UIViewContllorの型が変更できなかったり、コードならささっと出来ることも大変な作業量になってしまうことがあります。
オシャレなアニメーションなんかはやっぱりコード上でないと実装できないです。
Storyboardを使わない方がいい理由まとめ
・Storyboardで出来ることは全てコードで出来る。(Storyboardでは出来ないことがある。)
・規模が大きくなると、Storyboardで得られるメリットよりデメリットの方が大きくなる。
・なんか色々めんどくせぇ。てやんでぃ
今から、iPhoneアプリ作りを始める方は是非Storyboardなしでやった方がいいと思います。
⇒ Xcode6でもストーリーボードなしのEmpty Applicationから始めたい