akiyoko blog

akiyoko の IT技術系ブログです

「tiTokyo」に参加してきました

米国以外で初のTitaniumカンファレンス開催ということで、参加者は300人以上。
かなり大きな Titanium Mobile イベントでした。

「tiTokyo」(2013.2.16)


会場は、ベルサール六本木の地下ホール。デカかったです。
当日はランチ付き、懇親会も無料。太っ腹!!

Appcelerator Keynote

Jeff Haynie氏(Appcelerator)

Appcelerator CEOのJeffの基調講演。
遅刻したので最後の方しか聞けず。残念。。

  • ACS (Appcelerator Cloud Service) の話
    • Titaniumを使わなくても利用可
    • 500万回のAPI呼び出しまで無料
  • Node.ACS
  • ライセンスの話
    • 「Titanium」はフリー/オープンソース、コミュニティ開発ベース
    • 商用製品の場合は、「Appcelerator」という名称を使う
  • 社是は「Be Humble(謙虚であれ)」

Delivering Quality User Experiences, Through Continuous Testing

Tom Lounibos氏(SOASTA)

SOASTAが提供する、Titanium向けの統合テスト環境の話。

  • SOASTA Mobile Test Platformには3つの製品がある
    • TouchTest(機能テストの自動化)
    • CloudTest(負荷・パフォーマンスのテスト)
    • mPulse(リアルタイムでユーザをモニタリング)
  • ある調査では、モバイルアプリの 43% がダウンロードされてから一度しか使われない。ユーザエクスペリエンスが悪いのが主な原因
    • TouchTest・CloudTestで解決しましょう
  • ある調査では、86% のモバイルアプリが「手」だけでテストされている
    • TouchTestで解決しましょう
  • TouchTestはコード内部に仕込むのでJail Breakしなくてよい。タッチを正確にトレースして再現できる

中でも気になったのは、TouchTest。昨年末リリースしたiOSアプリも、実機とシミュレータ上で「手」でしかテストしてなかったので。
途中、TouchTestのデモがあったのですが、チェスのアプリが自動でダーっとテストされてる映像が見えました。Q&Aセッションのときに、「TouchTest はどうやってテストの成功 or 失敗を判断しているのか? 例えば、Seleniumでテストしていたときは次の画面に表示されるメッセージでアサートしたりするが、デモのチェスの場合は『YOU WIN』などの文字でチェックするのか?」と(英語で!)聞いたところ、「一手動かすごとにオブジェクトがどのポジション(X座標・Y座標)に移動するかを UnitTest のようにチェックできる」とのことでした。へー、なるほど。


ここで、昼食の時間。
選んだのは中華弁当(中身の写真撮り損ねた。。)

f:id:akiyoko:20130216112628j:plain

Appcelerator Product Depp Dive

Ricardo Alcocer氏(Appcelerator)

テクニカルエバンジェリストの Ricardo からは、Titanium Mobile の MVCフレームワーク「Alloy」の話。昨年6月の増井さんの勉強会でも既に話題に上がっていた、例のやつです。このカンファレンスの当日、Alloy 1.0.0 がリリースされたのだとか。

  • Alloyを使うと、コードが少なくて済む
  • 3種類のコードに分かれる
    • js は、コントローラ(=ロジック)
    • tss は、スタイル
    • xml は、UI定義
  • テーマ機能
    • config.jsonに、デバイスごとにどのテーマを適用するかを指定できる
    • デバイスごとに固有の画像を格納するためのフォルダを用意したり、デバイスごとに位置を変えられる
  • Widget機能
    • コードの再利用(ミニアプリのように記述)
    • config.json内の dependenciesタグに入れる
    • xmlからは、<require-type="〜">で指定
  • backbone.jsも使える。モデルクラス(SQL)を用意しなくてもよい(?)
    • Alloy Modelを自動生成できる
    • backboneコレクションを使って、UIコントローラにModelをバインドできる
  • Alloy 1.0.0 は、Titanium SDK 3.0以降で対応
  • 今日のデモのソースコードは、https://github.com/ricardoalcocer で公開している

LANICA Platino を使ったサクっとゲーム開発

井口 恒太氏(LANICA)

Titaniumのプラグインとして動作するゲームエンジン。「プラチノ」と読むらしいです。

  • LANICAを、Ansca Mobileの元CEO Carlos Icazaと共同して創設した
  • Platino は QuickTiGame2d の後継
  • 今まではきっと大変だったと思う。でも、OpenGL ESベースのゲームエンジン「Platino」を使えばもっと楽
  • SPRITE SHEETSは、パラパラ漫画のようなアニメーションをサポート
    • テクスチャパッカーというツールでXMLを作り、それを利用する
  • PARTICLESは、リアルタイムで煙などを計算する
    • PEX(パーティクルデザイナーツール)を使う
  • ISOMETRIC ENGINEは、シムシティみたいなのをサポート
  • PHYSICSは物理エンジン。Box2dを使っている
  • サウンドは今後よくなる。フリー版のライブラリにも含まれる
  • Titanium の Viewとは共存して使える
    • が、パフォーマンスがものすごく悪くなるので、設定画面とかでViewだけ使うとかだったらOK
  • 機能的に同じだが、Androidの方が iOSよりも悪いかも(?)


「なぜ Platino(Titaniumでゲーム)なの?」という理由ですが、「ネイティブ+リッチ」という流れが加速している中、大手コンシューマと個人クリエータとの間で状況は二極化しているんじゃないか。その隙間に入るのが「Platino」なのだ、と。

使いたい人は、lanica.co でベータプログラムにサインアップできるとのこと。
今後は、フリー版とフリーじゃない版を用意する予定で、フリーじゃない版では Shaderなどプロ仕様のものが使えるようになるとのことです。価格は Unity の年間購読よりは安くする予定だとか。

「Alloyとは共存できる?」という質問には、「Alloyは使ったことがないのでよく分からないが、Alloyではモジュールが問題なく使えるということなので、それであれば共存可能」との回答が。

デモアプリもスムーズでいい感じでしたし、個人的に非常に気になります。


懇親会のメニューは豪華! おいしくいただきました。

f:id:akiyoko:20130216165602j:plain