初めてのAppCode (1)

AppCodeは、JetBrain社が開発したObjective-C用の開発環境です。
つまり、MacやiOS(つまり、iPhone等)のアプリ開発環境です。
JetBrain社と言えば、Java用のIntellJや、C#/VB.NET用にVisual Studio用のプラグインReSharperを開発しています。
特に後者は、私にとって仕事をする上でなくてはならん一品です。最近、ずいぶんと重たくなって悲しい思いをしていますが...
それはさておき、開発環境メーカーが新たに出したのがAppCodeです。
Xcodeに不満がある方、AppCodeをいかがでしょうか?
そういう私は、MonoTouchを使っていたので、あんまりXcodeを触っていないのですが、色々とフラストレーションが溜まりそうな開発環境ではありますね、Xcodeは。

AppCodeの動作環境としては、MacOS X Lion(10.7)を使っていると

  • Xcode4.1以上
  • 2GBのメモリ
  • 公式サイトにはきちんと書いてないけど、Javaがいるはず


では、AppCodeで簡単にiPhoneアプリを作ってみましょう。
まず、AppCodeを起動すると、開始画面になります。
画像

ここでNew Projectを選択します。
次に、開発するアプリのタイプを選択します。
今回はiPhoneアプリなので、iOS → Applicationを選択します。簡単なアプリを作ってみるのでSingle View Applicationを選択してみます。
画像

そして、Nextボタンを押し、プロジェクト名等を入れてみます。
Device FamilyでiPhone用、iPad用、共用(Universal)を選びます。ここではiPhone用を選んでみます。
画像

Finishボタンを押します。
すると、しばらくプロジェクトの生成が行われます。
これはXcode互換のプロジェクトになります。
注意点はここで生成されるプロジェクトはXcode4.2互換のものになります。

プロジェクトの生成が終わると、まずは画面作成を行います。
今回のアプリは、入力した二つの数字を計算するアプリにします。
たぶん生成されているのがMainStoryboard.storyboardというファイルです。
これをダブルクリックすると、Xcodeに組み込まれたInterfaceBuilderが立ち上がります。
これでアウトレットやイベントの関連づけを行っていくことになりますが、このときの記述はXcode4.2のstoryboardに対応した記述方法になることをお忘れなく。
画像

終了すると、Xcodeを終了します。

AppCodeに戻って、コードを書いていきます。
まずは計算用のクラスを作っていきます。
プロジェクトペインでCommand+Nした後でClassを選ぶ、またはメニュー→NewでClassを選択します。
表示される画面でクラス名を入力し、OKボタンを押すと、そのクラスのヘッダーファイルとソースファイルが作成されます。
画像

生成されるとまずはヘッダーファイルにメソッドのプロトタイプを作ります。
ま、こんな感じで。

#import


@interface Calc : NSObject

- (int)plus :(int) first intSecond:(int) second;
- (int)minus :(int) first intSecond:(int) second;

@end

次に、ソースファイルを開き、その中にカーソルがあたった状態で、Comman+Nを押して表示された穴かでもまずはInitWithを選択します。
画像

そうすると、initメソッドのひな形が作られるので、そこに初期化処理を作成します。
もう一度Command+Nを押して、今度はImpement Methodsを選択します。
するとヘッダーファイルでプロトタイプ宣言したメソッドが一覧で表示されます。
それらを選ぶと、ソースファイルにプロトタイプ宣言したメソッドのひな形が生成されるので、そこに処理のコードを書いていきます。
書き終わってソースコードが汚いなぁと思ったら、Command+Opt+Lをすればコードを整形します。このとき、不要な使われていない#importがあれば削除してくれます。
そうして、プロジェクトの他のソースにもコードを書いていきます。

先ほど作ったクラスのオブジェクトを作ろうと、Calcとまで書いていくといくつかのクラス名の候補が表示されます。
しかし、Calcはありません。そこで、Calcまで書いていったんEscキーを押します。
すると、#import "Calc.h"?とポップアップが表示されるので、Opt+Enterキーで#import文が自動で挿入されて、Calcクラスは利用できるようになります。

ビルドするときにはCommand+F9です。
実行するときにはCtrl+Rです。ただし毎度iOSエミュレータが起動するので注意が必要です。
こうしてエミュレータ上での開発を続けていきます。
実機でのデバッグをするときには、また別の機会に検証したいと思います。

コードを書いていて、気がついた点がいくつかあります。
1.コード補完で、AppCodeはまず変数名等は小文字で始まるものをそろえ、次に大文字のものが来ます。
2.コードが、AppCodeがカラフル。
3.AppCodeは括弧の補完を自動的にやってくれる。
4.変数名を適当に命名してくれる。
5.コードを生成してくれる。
6.リファクタリングパターンが多い。

1.はXcodeみたいに大文字小文字混在だとコードを書く上で探すのが面倒でフラストレーションが溜まります。適度の整理して表示してくれていますので、Xcodeより書きやすかったですね。
2.私はReSharperの愛用者なため、変数や定数、クラス、メソッドなどが多くの種類で色分けされていないと、瞬間的にコードを把握することができない体になっております。JetBrains社の製品はみなそうです。期待に違わずAppCodeでもカラフルでうれしいですね。
3.これはReSharperがしてくれるためですが、いちいち括弧をすべて書くのは面倒くさいので、そこをしてくれるのはうれしいところです。
4.変数名って結構悩みませんか?最近のReSharperは複数候補を挙げてくれるのですが、そこまではできていないですが、これはうれしい機能です。ついでにクラスのオブジェクトに*を自動的につけてくれるのでこれも助かります。
5.ヘッダーファイルに宣言したメソッドをソースファイルにCommand+Nで同じ名前や引数のひな形を作成してくれます。EclipseやIntelliJ、ReSharperなら当たり前の機能ですがXcodeにはありません。
6.これはメリットといえばそうです。VisualStduio2005あたりもそうだったのですがもやはりXcodeのリファクタリングパターンでは少ないです。一方、JetBrain社のものはみなそうなのですが多すぎて覚えきれないという面もあります。
#importの挿入、ソースの整形と不要な#import削除などもあり非常に助かる他のJetBrain社製品にある機能もきちんとあって開発をする上では助かると思います。

ただ、今の時点のAppCodeは、必要要件にあるように残念ながらXcodeを捨てきることはできません。
実機でデバッグするためのProvisioning Profile設定などのプロジェクトの設定は、さっと見る限りAppCodeにはなさそうです。
そういう意味ではXcodeのコードを書く上での補完ツールといえると思います。

12/31次回を公開しました。こちらへ

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 1

なるほど(納得、参考になった、ヘー)

この記事へのコメント

この記事へのトラックバック