Titanium 2.0 ローンチイベントに参加して LT もしてきました

Titanium Mobile 2.0 ローンチ記念イベントに参加してきました。Titanium Mobile が登場してから初のメジャーバージョンアップということで、世界中で記念イベントが開催され、Skype を使った Appc スタッフとの Q & A セッションも設けられました。

ATND の参加者登録が 200 名を超える大規模なイベントで、日本国内の Titanium に対する注目度がうかがえます。このイベントについて簡単にまとめたいと思います。

イベントは Appcelerator CEO, Jeff Haynie 氏が来日されたときと同じく、五反田の DNP 五反田ビルで開催され、増井 雄一郎さんの Titanium Mobile 2.0 Keynote 、Appc スタッフとの Skype QA セッション、ライトニングトークセッションで構成されていました。

Titanium Mobile 2.0 Keynote – Titanium Modile SDK & Titanium Studio

イベント開催の数日前に Titanium Mobile SDK 2.0.1 GA (その後 GA2 がリリース) と、 Titanium Studio 2.0.1 がリリースされたわけですが、これらについての変更点の説明セッションです。 2.0 というメジャーバージョンアップですが、増井さん曰く「堅実なアップデート」らしいです。

Titanium Mobile SDK はレイアウトエンジンの刷新や width, height でこれまで用いられてきた auto に変わる物として Ti.UI.SIZE と Ti.UI.FILL が定義されたり、iOS では iOS 5.0 の JavaScriptCore が JS 処理系として用いられるようになったなどのアナウンスがありました。

レイアウトエンジンの刷新は Titanium Mobile SDK 2.0 の大きな魅力で、これまでは top や height などの値を変更する場合はこれら一つ一つにアップデートロジックが働いていたところを、一つのロジック内で処理してくれるようになったそうです。また、レイアウトの変更を検知できるイベントハンドラが用意されたのでレイアウト変更後の取り回しが簡単になるかもしれません。…Android 4.0 の対応アナウンスがなかったのがちょっと残念…。

Titanium Studio はこれまで tiapp.xml を直接書き換えてモジュールの読み込みを行っていたところを TiApp Editor から直接管理できるようになったり、ファイルを保存するまでコードヒントで参照できなかった、定義した変数や関数を保存しなくても参照できるようになるなどの細かくとも嬉しい修正点がアナウンスされています。Eclipse 3.7 ベースになったとのことで、Eclipse の拡張を利用したい場合の対応幅も広がっています。

Titanium Mobile 2.0 Keynote – Appcelerator Cloud Services

次に発表されたのは Appcelerator Cloud Services (ACS) です。これはサーバーサイドプログラミングを行わなくても、ネットを介したデータ交換を行うソフトウェアを開発するための仕組みである BaaS (Backend As A Service) の一種で、GitHub に公開されている Sample.Todo をベースにクラウド対応を行ったものを用いて ACS のデモが行われました (GitHub にデモで用いられたアプリのソースコードが公開されています)。

この後の QA セッションで明らかになったのですが、 ACS は Amazon EC2, PHP, MongoDB を用いて構成されていて、残念ながらアジアリージョン外の EC2 で構築されているようです。当然のことながら、ネットワークの応答速度は距離に依存するので、130ms 〜 200ms ぐらいの応答遅延は覚悟が必要みたいですね (実際、ちょっと遅いです。帯域絞ってるらしいですが…) 。また、有料プランの詳細も6月頃まで待つ必要があるようです。

とはいえ、 ACS は Titanium だけでなく、 iOS/Android ネイティブ用の SDK や、REST API も用意されているので幅広く利用できる魅力があります。また、 Push Notification やソーシャル連携の仕組みが用意されていたり、通信は SSL で暗号化されていたり、開発者にとって面倒な仕組みを回避できる仕組みが満載で、モバイルアプリケーション開発を行う小さなスタートアップにも大変魅力的です。アプリに集中できる仕組みが多数用意されています。

Titanium の Appcelerator から Titanium / ACS の Appcelerator に化ける可能性も秘めているサービスなのでこれからも目が離せません!

Q & A セッション

先に書いたとおり ACS がどのように構築されているのか、SLA はどうなっているのかなど、 Appcelerator Cloud Services に関する質問で絞められていました。ACS の注目度の高さがうかがえます。やっぱりサーバーサイドを書くのは面倒くさいのかなー?

ライトニングトーク

手前味噌ですが、発表してきました。先の増井さんの発表でも使われていた Sample.Todo ですが、Titanium Mobile SDK 2.0 以降のレイアウトエンジン刷新の影響か、TableViewRow で WARN を吐き出し続けるのは気持ち悪いということで Sample.Todo 直してみたよ…という内容です。

http://www.slideshare.net/ryugoo/titanium-20-and-sampletodo

GitHub にソースコード公開しているので見てみてね。

このライトニングトークで一番かっこよかったのは @daoki2 さんの Xib2Js です。間違いなく。Xcode の Interface Builder で出力した xib ファイルを Titanium のコードに変換してくれるツールで前から存在していたのですが、これの新版でなんと TiShadow と連携しちゃいましたよという、もの凄くかっこいい内容でした。

具体的には IB で見た目を作り、 Xib2Js でコードに変換し、その場で TiShadow でテストできてしまうという代物です。ツイート曰く、実機でも動くそうなのでさっと UI を作って実機でフィーリングを確かめるなんてこともできてしまいそうです。凄い。

@daoki2 さんから補足ツイートをいただきました。ありがとうございます!

@ 正確にはTiShadowと連携しているのではなくて、同様の機能をxib2jsと専用Tiアプリで実装してみましたというところです
@daoki2
daoki2

まとめ

Titanium Mobile 2.0 はパフォーマンスアップやバグの大幅な修正など、これまで以上に魅力的なアプリ開発ソリューションになってきました。ドキュメントもしっかりとしたものになってきていて、これから Titanium を始めるという人は幸運かもしれません。また、 ACS によってこれまで以上に簡単にアプリを使ったサービスを提供しやすくなりそうです。

これからも Titanium 界隈に何かしらの情報提供を行えて行けたらと思います。…まずは「小さな Titanium Mobile の読み物」を 2.0 対応し終えるところからかなー。

Code Strong :-)