先取り “新” Titanium CLI

この記事は現在開発中のソフトウェアを使って検証しています。

Titanium Mobile ユーザー会 Meetup #1 にて Titanium Command Line Interface (CLI) の拡充が図られると発表されたのは記憶に新しいところですが、先日、 GitHub 上で開発が進められている「新 Titanium CLI」が飛躍的に進化しました。

週末からサンフランシスコで開催される CODESTRONG 2012 で Titanium 3.0 と同時に正式発表されるのではないかと思いますが、既に npm で開発中の Titanium CLI がインストールできるようになっています。今回はこの開発中のものを使ってみたいと思います。

1. 新しい Titanium CLI とは?

これまでの Titanium CLI は Titanium Studio を使わずに Titanium Mobile アプリケーションプロジェクトを作成することができる Node.js ベースのツールでした。

新しい Titanium CLI は Titanium 3.0 を視野に、 Titanium Mobile アプリケーションのプロジェクト作成から実行、クリーン、モジュールやプラグインの管理まで統合的に管理できるようになるようです。

2. Titanium CLI のインストール

Node.js と npm が使える環境が必要です。 OS X であれば Homebrew を使って Node.js をインストールすると良いでしょう。

Homebrew を使って Node.js がインストールできたら、 npm を使って Titanium CLI をインストールします。

2012/10/16 現在、 Titanium CLI は v 3.0.5 がインストールされるようになっています。 CODESTRONG 開催に向けてさらに変更が加わる可能性があります。

3. Titanium CLI を実行してみる

シェルを立ち上げなおし、 titanium コマンドを実行してみます。

ずらずらとコマンドリストが表示されました。これまでの Titanium CLI には無かった build や clean コマンドが使えるようになっています。

もしも古い Titanium CLI (v 0.0.26) からアップデートされた方で、実行時に

エラーが出る場合は、以下のコマンドを実行してみてください。

4. 初期設定とプロジェクトの作成

初期設定を行います。初期設定は setup オプションを使います。

ウィザードの最中に聞かれる内容は以下の通り。

  1. What is your name?
    tiapp.xml 中の author フィールドに使われる名前です。
  2. What is your email address used for logging into the Appcelerator Network?
    Appc に登録済みのメールアドレスを入力します。
  3. What would you like as your default locale?
    ロケール情報です。日本国内なので「ja」と入力します。
  4. What Titanium SDK would you like to use by default?
    デフォルトに設定したい Titanium Mobile SDK のバージョンを入力します。現行安定版の 2.1.3.GA を使う場合は「2.1.3.GA」と入力します。ただし、 2.x 系の SDK では titanium build や titanium clean コマンドが実行できません。検証のため、 Continuous Builds から 3.0.0.v20121015174610 をダウンロードし、これを使うことにしました。「3.0.0.v20121015174610」と入力します。
  5. Path to your workspace where your projects should be created
    プロジェクトの作成先ディレクトリを指定します。Titanium Studio の Workspace や別途好きなディレクトリを指定してください。
  6. Path to the Android SDK
    Android SDK を設置してあるディレクトリのパスを入力します。

Configuration saved のメッセージが表示されたら設定終了です。次にプロジェクトを作ってみます。プロジェクト作成は create オプションを使います。

ウィザードの最中に聞かれる内容は以下の通り。

  1. Target platforms
    android, iphone, mobileweb の中から選択します。何も入力しなければ全てのプラットフォームが対象になります。
  2. App ID
    アプリケーション ID を入力します。ドメインの逆順 + プロジェクト名が良くある ID です。例えば、 net.imthinker.sample など入力します。他のプロジェクトと被らない名前であれば何でも良いでしょう。
  3. Project name
    プロジェクト名を入力します。この名前でプロジェクト作成先のディレクトリに新しいディレクトリが作成されます。他のプロジェクトと被らない名前を入力してください。

プロジェクトの作成に成功すると、

こんなメッセージが表示されます。例は sample というプロジェクトを作りました。早速実行してみましょう。

実行するためにはプロジェクトディレクトリまで移動して、 build オプションを実行するか、プロジェクトディレクトリの場所をサブオプションで指定する必要があります。 build オプションで使えるサブオプションは -h で調べられます。

長いので切っていますが、グローバルサブオプションには -d というプロジェクトディレクトリを指定するオプションがありますので、これを使います。プロジェクトを保存しているディレクトリの直下で、

このコマンドを実行してみます。単純なビルドオプションの場合、ウィザードが実行されます。ウィザードの最中に聞かれる内容は以下の通り。

  1. Target platform
    android, iphone, mobileweb の中から1つ入力します。入力をしないとエラーになりますので、必ず1つ入力してください。

今回は iphone と入力しました。端末上にインフォメーションが出力され、シミュレータが立ち上がり、アプリケーションが実行されました。

ターゲットプラットフォームが決まっている場合は、 -p サブオプションを使うことでウィザードをショートカットできます。

4. とりあえず先取ってみて

これまでは  MakeTi を使うことでコマンドラインからシミュレータ/エミュレータ実行や実機ビルドが行えましたが、公式のツールとして Titanium CLI からコマンドライン実行できるようになるのは嬉しいですね。

開発中のものですし、 Titanium 3.0 以降でないと build や clean が使えないようですが、今後は 3.x 系が主流になってくるでしょう。オフィシャルフレームワークの Alloy との連動も気になるところです。

Node.js のプラグインとして開発されていて、 GitHub 上でオープンになっているので、フォークして CoffeeScript のビルドも自動で行うような仕組みを入れてみるとか考えてみても面白そうです。

Code Strong!

  • http://twitter.com/101kaz Kazuki Yoshida

    はじめまして, この記事を読んで Titaniumの快適な開発環境が整えることができました  ありがとうございます.
    一つ質問なのですが, build (-d) コマンドからipadエミュレータを起動する方法がわかりません. ご存知でしょうか?

  • http://twitter.com/101kaz Kazuki Yoshida

    すいません 自己解決しました. お騒がせしました

    • ryugoo

      解決されたようで安心いたしました。