意識高いiOSアプリのつくり方

基本編

1. Objective-Cで書く

Obj-C使いたくないが諦める

結局Obj-C使うのが一番楽であることに気づくのだ

2. Xcodeを使う

VimとかEmacsとかAppCodeで書きたいが諦める

結局Xcode使うのが一番楽であることに気づくのだ

設計編

3. 仕様とUIをしっかり設計してから実装する

きちんと設計しないとあとから大量の手戻りが発生して泣きたくなる。

  • 技術的に可能なことをやろうとしているのか
  • 基本的な画面設計
    • メインのビュー部分
    • ナビゲーション方法(TabBarなのかNavigationBarなのかNavigationDrawerなのか)

くらいは最低限調査・設計しておく

4. フレームワーク的ライブラリを使わない
  • UIKitは既に十分にフレームワークになっており、新たな思想を持ち込む必要はない
  • Reactive Cocoaを使うのはUIKitのMVCをよくよく理解してからでも遅くない
  • BlocksKitはbad parts. 古典的delegateを使用したほうが見通しもメモリ管理も良くなるケースのほうが多い
5. なるべくWebViewは使わないようにする
  • デバッグが難しくなる
  • Obj-Cとのブリッジ部分がバグの温床になりやすい
  • 使う場合はデータのやりとりは最小限に

クラス設計編

6. ViewControllerには最低限の責任しか持たせない。ModelとカスタムViewを積極的につくる

こんなViewControllerはクソの山だ!

  • 1000行超えてる
  • JSONをパースしている
  • JSONをパースしただけの生dictionaryを直接読み取り・操作している
  • subViewの見た目(colorとかframeとか)を操作している
  • 別のviewControllerと密結合してdisappearなときにも仕事をしている

続き:あとでかく