Titanium Mobileを二ヶ月くらいさわってみた感想。

今年に入ってからほぼ毎日触ってました。でもほとんどiPhone開発しかしてない感想。
主観的なところをだらだらと書いてみましょう。

とりあえず気に入っているところイマイチと思うところを挙げてみたい。
合わせて総評など。

気に入っているところ

さくさく開発できる

Objective-Cとは段違いの開発効率。
冗長なメソッド名とメモリ管理の煩わしさからの解放がうれしい。

ちょっとしたモックアップ程度ならさくっと作れてしまう。
そこから開発者が作り込みに注力できる環境が見事にできあがっているのではないかと。

JavaScriptはくせもあるけどおおむね使いやすい言語。
CoffeeScriptとの組み合わせでさらにいいかんじ。

TDDできる

Jasmineで気持ちよくTDD出来ている点が非常にポイント高い。
おかげでTitaniumラブですよ。

Objective-CでもTDD可能だけど、OCUnitとかちょっとしんどい。
可能でもやりやすくなければ厳しいと思うわけですよ。

ところで公式のテスティングフレームワークとしてDrillbitと言うものがあるのだけれど、ちょっとつついてみた程度ではうまく動かせなかった。
Jasmineも割と強引に動かしているので、公式で用意されているものが使えればそちらを使いたいところ。

足りない機能はモジュールで拡張できる

Objective-CでiOS SDKで開発するのと同じようにコードを書いて、TitaniumからJavaScriptで利用できる形につなぎ込むことができる。
しかも簡単に作れるところがすごい。

使い始めた当初は「Titaniumで開発していても、その枠組みから外れるようなことがやりたくなったときに手詰まりになってしまうのではないか」という懸念があったが、今はすっきり払拭されている。
標準のAPIにない機能がほしければ、それを実現するモジュールを書いてしまえばいい。

ただ向き不向きはあるので、どんなアプリでもTitaniumで作れるというわけではない。
パフォーマンスやリソースの面ではObjective-Cより当然見劣りするので、そのあたりを要求されると限界はある。

ユーティリティ系のアプリならほぼ問題ないと思う。

JavaScript1.6に対応している

ブラウザ互換性とか気にせずに配列のmapとかfilterとか使い放題。
ヒャハー。

既存のJavaScriptのライブラリが使える

DOMがあることを前提にしたものでなければJavaScriptのライブラリをなんでも使える。

今のところ自分はMootoolsやそれにJasmine等を使っています。
JSDefferedなんかもそのうち使ってみたい。

イマイチなところ

ドキュメント不足

公式のドキュメントがいまいち整備されていない。
進化の速度が速いせいもありウェブ上の情報の陳腐化も速い。
唯一絶対信頼できるドキュメントはコードです、みたいな。

このせいで学習の敷居がやや高くなってしまっている。
とはいえ、一ヶ月くらいでずぶの素人が独学でアプリをほぼ完成させられるところまでは行くそうなので、十分低いとは言えるのだけれど。

そんな中@donayamaさんのWikiの存在は大きい。
これに助けられているTitaniumerは多いはず。というか日本で見てないTitaniumerはいないような気がします。

一応SDK 1.6のリリースが落ち着いた3月以降に大々的に整備される動きがあるとか聞いた。
ドキュメント不足で敬遠されるとかもったいない技術なのでそのあたりは期待したい。

もうすぐ書籍も出るとのことなのでそちらも楽しみ。
あ、そういやまだTitanium特集の載ったWEB+DB Press買ってないな・・・

実機転送に時間がかかる

気軽に実機デバッグができない。

特にAndroidはシミュレータが使い物にならないので、実機デバッグがもっと気軽にできるようにならないとかなり厳しい。
iPhoneシミュレータでの確認には特にストレスはないので、iPhoneアプリとしてほとんど作って、UIの部分だけAndroid側で作り込むという技もあると聞いたが・・・

総評

ライトウェイトにTDDで開発していけるところがかなり気に入ってます。
イマイチなところはあるにしろ、それも発展途上故のイマイチさというかんじなので、それは今後に期待。

iPhoneアプリの方は、これでほんとにやりやすい環境が整ったと思うので、これに便乗してなんかいろいろ作っていきたい。
作り込みの手間はプログラミングが楽になってもやっぱり相応にかかるものなので、プロダクションクオリティのものを出すにはそこそこ時間がかかるとは思うけど。

Androidの方はいったんTitaniumではなくJavaかScalaでやってみようかなと思っている次第。
Objective-Cでのモジュール開発などネイティブSDKの経験が活かされる部分もあるので、TitaniumのAndroidサポートが成熟した頃に戻ってきたらちょうどいいかんじかもしれないなと。

おまけ

@masuidriveさんとランチしていたよ!

CoffeeScript+Titaniumの記事がきっかけで声をかけてもらいました。ありがたや。
@moongiftの人が共通の知り合いだったので、こちらも一緒に。おかげでスケジュール調整とかまかせっきりで楽でした。さんくす!

神保町で中華食べつつ、いろいろと聞かせてもらって非常に面白かったです。
機会があれば自分も開発者の集まりに顔を出したり、何らかのコントリビュートをしたりとかしていきたいところ。

ところで事例募集中とのことなので今Titaniumでアプリを作ると宣伝してもらえそうです。
そんなわけであなたもTitaniumどうでしょう。

Titanium Mobileを二ヶ月くらいさわってみた感想。” に対して2件のコメントがあります。

コメントは受け付けていません。