JavaScriptを使って一週間でiPhoneアプリを作ってみた。

現在時刻を好きなフォーマットでクリップボードにコピーすることが出来ます。シンプルなものですがソースコードごと公開します。以下のような事柄の実装例を知りたい時には参考になるかもしれません。

  • UIの作成、配置
  • イベントを受け取る
  • クリップボードへのコピー
  • 時刻表現の変換


サポートサイト
App Storeへ
ソースコード(github)

使った道具

名前 補足
Titanium Mobile Titanium Studioをインストールすれば使えます
Titanium Studio 最初のプロジェクト作成時にしか使っていません
Emacs + js2-mode ファイルセーブ時に自動でビルドする仕組みを整えています、後述
XCode4 実機への転送テスト、App Store登録用のバイナリ作成

基本はこれだけです。Xcode4以外は無料でインストール出来ます。
※ Xcode4もiPhoneの開発者登録すれば無料になります。

感想など

Titanium Mobileのいい所
思ったより簡単だったこと
  • Titaniumのプログラミング。FirefoxのAdd-on SDKJavaScriptを触っていたため、かなりスムーズに使えた。Objective-Cで書くよりずっと簡単で安全。
  • Titanium Studioのインストール
  • Titanium Studioからエミュレータに転送して動作確認
  • iPhoneエミュレータはよく出来ているので、しばらくはこいつで遊ぶといいかも
大変だったこと
  • 実機への転送(自分のiPod TouchがiOS5で、XCodeのバージョンを3から4に上げる必要があって、そのためにiMacのOSをLionに上げたり・・・みたいな)
  • iPhoneアプリの申請手続き(不備があって二回程リジェクトされた)
困った時はclean
  • Titanium Mobileでビルド→実行を繰り返していると急にエラーが起きることがある
  • その時はTitanium Mobile起動→[Project]→[Clean]で生成されたXCodeプロジェクトを削除→ビルドで直ることがある
  • もしくは a_project/build 以下を全て削除してからビルドでもOK
  • モジュールを追加した時もcleanが必要(モジュールを追加したらビルドは通るのに実行したら謎のエラーが起きて起動せず、cleanしたら動いた)
  • とにかく困ったら一度クリーンしてリビルドしてみる
自動ビルドのすすめ

まとめ

  • Titanium Mobileおすすめ、ちょっとしたアプリならすぐに作ることが出来る。
  • PhoneGapと比べて一番のアドバンテージはUIとしてOSネイティブのパーツが使えること。
  • 速度もそれなりに早い。
  • 開発環境にバグが少しだけ残っている?けど、バージョンアップを重ねれば直りそうな印象。

こんな話もあるみたいだけど、これ位の規模のアプリならさくさく作れそう。もっと使う人が増えて欲しい今日この頃です。