しばらく見ぬ間にXcodeも進歩していた

このところ昔Xcodeを使ってObjective-Cで書いたアプリをRubyMotionで書き直してみたりしている。とても楽しくて仕方が無い。
一方で長い間Xcodeとはご無沙汰だったので、そちらは今どうなっているのだろうかとRubyMotionと比較する上で気になった。そこで一年ぶりくらいにXcodeをちょっとだけ触ってみたが、どうやらこちらもけっこうよろしくなっている。

メモリ管理が不要になった

Xcode 4.2.1以降ではプロジェクト作成時に「Use Automatic Reference Counting (ARC)」にチェックを付けると自前でメモリ管理しなくてもよくなった。

Objective-CをRubyMotionに書き換えるときメモリ管理に由来するコードをバッサリ削るのが楽しかったが、Objective-Cでも今ならバッサリいける。

メモリ管理の煩わしさがなくなると同時にコードの見通しも大分よくなる。
またオブジェクトのリファレンスカウントを気にしなくてよくなったので、メソッドやクラスの抽出が割と気軽にできるようになったのは大きい。

テストが実行しやすくなった

以前はユニットテストを実行するのに自分でターゲットを作ったりとかしちめんどくさい手続きが必要だったが、現在ではプロジェクト作成時に自動で環境を整えられるほか、「Command+U」ですぐに実行できるようになっている。

実際に本格的なテストを書き始めたらどんな具合なのかはわからないが、とりあえずテストを走らせるのが簡単になったのはとてもいい。

Xcode4.4から各種リテラルが導入される

もうすぐ配列、ハッシュ、数値などが簡単に定義できるようになる。
メモリ管理の件もあってこれら基本的なオブジェクトを使うのも一仕事といったかんじだったが、これで大分気楽になりそう。

参考

Storyboard

InterfaceBuilderに画面遷移まで管理できる仕組みが加わってGUIのプロダクトを作るIDEとしての完成度が高まった。
個人的にはコードでUIを組み立てるやり方で不足を感じていないので使う予定はないけれど、かつて自分のようにInterfaceBuilderを投げ捨てた人がStoryboardの登場により戻っている例もあるようなので、もしかするとかなりいいものなのかもしれない。

ちなみにStoryboardはRubyMotionでも1.4でサポートされた。

まとめ

変更点を網羅したわけではなくちょっとぐぐったり手を動かしてみただけだけど、Xcodeでの開発も以前に比べてやりやすくなっていると感じた。
特にメモリ管理の負担がなくなったのが大きい。XcodeとObjective-Cを使った開発も苦痛ってほどではなくなったように見える。