旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

Titanium MobileでiPhoneアプリをリリースした

2011年6月8日

Titanium Mobile で開発したiPhoneアプリを公開しました。

就職活動生向けの

学歴早見表!ES・履歴書簡単作成!「会社なび/就職活動」の就活シリーズ!

という、学歴早見表アプリです。

10日間で申請まで完了

今回、Xcode4がインストールされてるだけのMacを渡されてから
10日間でiPhoneアプリ申請までを完了することが出来ました

工数の内訳は以下です。

  • 1日 = Macの操作がわからない、慣れない(Macで作業するのが初めて)
  • 1日 = Titanium Developerインストールと開発環境構築(zsh/vim/screen程度)
  • 1日 = アプリ設計、プログラム設計
  • 4.5日 = 実装(大半はAPIの調査)
  • 0.5日 = iPhone実機へテストアプリをインストール(若干ハマった・・・)
  • 1日 = 公開申請関連(アイコン・詳細文などのコンテンツを揃えて申請作業)
  • 1日 = 引継ぎのために手順や成果物についてのドキュメント作成

※objective-Cは全くわからん
※JavaScriptについては、ある程度は熟練している
※iPhoneアプリのディレクション経験は有る
※Android版は・・・設計時には組み込んでましたが、時間切れでした・・・。

内訳からわかるように、(超簡単なアプリだからですが)実装にはほとんど時間は掛かっていません。
かつ、実装時間の内の大半は調査時間なので、次はほぼ必要なくなるものです。

Titanium Mobile を選択する場合に気を付ける点

プログラマ向けではなく、ディレクター・PM・営業さんなどへ向けた話です。
(実装する人向けには、もっと良い記事が沢山ありますので!)

第1に、iPhoneアプリとして自然なUIにならないこともあります。
いや、ハッキリ言うと、3日以上実装に掛かるようなアプリだとどこかしら不自然になります。
技術的な話ですが、今回のようなミニマムアプリでも Stand Alone な Window に NavBar を付けられなくて諦めたり(後でブログで発見したけど)、TabBar は不要なんだけどそれが無いと使えない機能があったりするので無理矢理付ける形にしたり、Date Picker が日本語対応してないので諦めたり、など、UIで妥協した点が何点か出てきました。

第2に、Titanium Mobile の開発体制が不安です。
これも技術的な話ですが、デバッグプリントが動かなかったり、ビルドが何故か失敗したり(大抵もう一回ボタンを押すと直る)、クリーンビルドが必要になったり、シミュレーターが終了しなくなったりなど、今のところは影響は少ないですが、とにかく不安です。
「Xcodeを更新したらTitanium Developerも更新しないといけなくなって、そうしたら今のソースがビルドできなくなった」は充分に考えられます。

第3に、Android側も対応工数が必要です。
「iPhone側が出来たらAndroid側もボタン押せば出来ますよ」とかエンジニアが言ってても信じてはいけません。絶対無理です。だって、マーケットへのリンクを張るだけでも条件分岐が必要になりますよ。
テスト工数についても、実機検証が必要になるため、単純にx2 する以上はコストが必要になるはずです。

ということで、現状は過信は禁物で、受託案件で使うなら、少なくともUIにはうるさくないクライアントの場合に使うことをオススメします。
ここをおろそかにすると、「Titanium Mobile で頑張ったけど結局要望は実現できず、objective-C で作り直し」という最悪のシナリオになってしまうかもしれません。

じゃあ使えないの?

いいええ、JavaScriptでこの短期間にiPhoneアプリが作れたってだけでも充分利用価値はあります。
一般人に理解できるUIでちゃんと動きますしね、ショボいけど。

出来に不満な人は多いと思いますが、「UI勝負のアプリ」って特殊なアプリ(Twitterクライアントとかサービス自体の勝負じゃなくなってるモノとか)なので、大抵のアプリは上手く回避すれば問題無いんじゃないすかねー。

少なくとも、自分がiPhoneアプリを作る場合は、まずは Titanium Mobile から検討します。

ドキュメント

引継ぎ用に作った資料ですが、外部公開しているのでリンクを置いておきます。

Titanium Mobile 全般
iPhoneアプリ申請について

これから申請方法を含めて学びたい って人には調度いいかも!