2011年4月10日日曜日

iPhoneアプリケーション開発でInterface Builderを使うべきか使わぬべきか

開発者の中でもInterface Builder(以下、IB)を使う派と使わない派がいるようですが、結局のところどちらが良いのでしょうか。
良い悪いの判断は開発者にそれぞれの思考・観点が異なるため万人に当てはまる明確な理由は無いんじゃないかと思います。まだ、MAC(やiPad)用のアプリケーションであれば、フォームサイズが大きので、UIの部品配置だけでも視覚的に行えることはその点だけでもIBを使う理由になるかとも思いますが、iPhoneの場合は画面が小さいためあまり利点が薄いのではとも思います。

iPhoneアプリケーションの開発経験がすごく浅い私ですが、以下の理由から、「IBを使わない」方針にしました。
※あくまで「iPhoneアプリケーション開発です」

  1. ボタンやラベル、各種View等の配置にはIBを使わなくても配置可能。
  2. そもそも、NavigationBarやToolbar等は配置に座標を必要としませんし、座標が必要であっても、画面の狭いiPhoneでは 頭のなかでのイメージをある程度座標に変換出来る。
  3. UI生成ロジック、各種Window、ViewContoroller、Viewの生成ロジックの把握が可能。
  4. IBを使った場合は、初期化コードやWindow、ViewContoroller、Viewとの関連がIBで行われてしまうので(全てでは無いですが) 開発者としてはUIKitの理解が深まらず、また論理的な思考の妨げになる感覚を感じる。
  5. IBを使うと様々なプロパティ値を簡単に変更出来る
  6. 逆に、各種プロパティ値が気になって、気になって、試さずにはいられない。本来のすべき仕事の妨げになりますw また、コードで記述したほうが、技術者としては理解が深まりますし、記憶に残る。
  7. XibファイルはXMLファイルだが、その中身は直感的解読不能
  8. コードが自動生成されても、自動生成されたコードを理解出来れば参考になると思うのですが、生成されるのはXibファイルで 実質XMLファイルです。このファイルの中身を見てみると分かりますが、とても簡単に理解できるものではないです。
と上記理由から基本的にはIBを使わない方針で開発を進めたいと思います。
IBを否定しているわけではありません、あくまで現状の私見ですが如何でしょうか、私間違ってますかね。

0 件のコメント :

コメントを投稿