« 「モバツイ」の本 | メイン | 「ヤモリの指から不思議なテープ」が素晴らしい »

2012年3月 8日

iOS SDK5時代の私的アプリ開発方針

iPhoneアプリを開発したり、androidアプリを開発したりの日々を過ごしている今日この頃です。
最近たてつづけにiPhoneアプリを開発していくなかで、自分なりの開発の方針みたいのが決まってきた風味なので、ちょっとまとめてみようかと思います。

SDKは最新、Development targetは4.x

iOSのどのバージョンを最低バージョンにするかっての、割と悩ましいんですけど、僕は、「4.1」か「4.2」にすることが多いです。
まだ、iOS4ユーザはかなりの数いると思うので。
SDKは最新のものを使って、Development targetを4.1とかにすると、最新の開発環境で、古いOSに対応したアプリを開発することができます。ただし、古いOSで使えないクラスやメソッドを使わないように気を付ける必要がありますが。
Development targetを5.xにできるようになるのは、iOS6が出たタイミングかなぁ。

ARCは(基本)使わない

Objective-Cのメモリ管理はめんどくさい! だから、ARC使うべき!
これは、真理なんですが、個人的に自分で確保したメモリは自分できちんとおかたづけしたいと思ってしまうので、ARCは基本的に使いません。
オープンソースのライブラリや俺ライブラリなどでARC対応でないものも多いので、そのあたりも統一したい感じ。
でも、ARC対応のライブラリをどうしても使いたい時は、そのライブラリのファイルだけをARC有効にして使っています。

EZ-NET: ファイル毎に ARC の有効・無効を設定する - Automatic Reference Counting

StoryBoardは使わない

iOS5以上で使えるStoryBoardは画面遷移が簡単に作れちゃう優れものなのですが、僕は使っていません。
StoryBoardを使うとiOS4では動かないアプリになっちゃうってのもあるけど、画面遷移のコード書くのって、そんなに難しくも面倒でもないし、どちらかというと、個人的にその部分のコード書くの好きだったりもしてw
ターゲットがiOS5で行けるようになったら使うのかなーと思ったりもしますが、でも、やっぱり使わないような気もします。
それは、次の理由もありまして。

xibは使わない

xibは使いません。つまりInterface builderでの画面デザインは行わず、すべてコードでUIを作っています。
xibを使わない方がアプリの速度が(若干)速くなるってのもありますが、それ以上にあのドラッグ&ドロップでアクションや、アウトレットを結びつけたり、デリゲートやデータソースを結びつけたりってのが嫌なのです。
うっかりデータソースを結びつけるの忘れちゃったり、ヘッダからアウトレット削除したのに接続を解除しなかったためにアプリが起動しなかったり。
コードで書いていれば、あまり忘れないし、経験上、仮に問題が起きた時でも発見が早いと思います。
なので、基本、すべてコードでUI部品を配置してます。
Xcodeが作るひながたのxibを使わないバージョンのプロジェクトを作っておくと便利ですよ。

iOS開発におけるパターンによるオートマティズム
木下 誠
ビー・エヌ・エヌ新社
売り上げランキング: 42015

投稿者 CHEEBOW : 2012年3月 8日 12:10 このエントリーを含むはてなブックマーク

[ iPhone ]
【お知らせ】音楽に関することはこちらのブログで書いています。くじら音楽部::BLOG