モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

NSEG第27回勉強会 Titanium Mobileハンズオン

先日の5/26(土)にNSEG勉強会でTitanium Mobileのハンズオンがあり、参加してきました。

第27回勉強会 - 長野ソフトウェア技術者グループ NSEG


Appceleratorでエバンジェリストをされてる増井さんに講師をしていただきました。
増井さんはPukiWikiの開発者としてもよく知られている方です。
ハンズオンで使われた資料はこちら。

masuidrive/TiHandson · GitHub


Titanium Mobileとは、iOSAndroidObjective-C/Javaでの開発のかわりにJavascriptで同一コードでアプリケーションが作れるというツールで、非常に簡単にアプリケーションの開発が行えるものです。


ほんとはもっと長く書いてたんですが、間違って消しちゃって再度書くモチベーションがでないので、今回のハンズオンやTitanium Mobileについての感想とか思ったことなどをちょこっとまとめ。

  • Titaniumはちょっとしたアニメーションや効果のついたUIを使いたいとかが得意とのこと。
  • たぶん今までフルFlashで書いてたようなものが一番向いてる印象。そういうの必要ないならHTML5というかjQuery Mobile+Javascriptとかでも良いのかなと思った。
  • Titaniumの対抗としては Corona(2Dゲームに向く Lua) Unity(3Dゲーム) PhoneGap(HTML5)とかあるとのこと。
  • ちなみにHTML5+JavascriptiOSAndroidのアプリケーション作れるものはMonaca http://monaca.mobi/ というのがある。
  • iPhoneAndroidで独自UI作法に対応するためのコードがあるため5%ほど個別のコードが必要だが、だいたい95%ほどまで共通のコードで書けるとのこと。
  • TitaniumはiPhoneAndroidのほとんどの機能を利用できるようになってるが、対応できない分は外部モジュールが使えるとのこと。
  • 外部モジュールはObjective-CJavaでネイティブで書ける。
  • そしてその部品はTitaniumマーケットで売ってたりする。というか売れる。
  • Titaniumは線を引くとかそういう機能が弱いとのこと。ゲームとか1/60でなにかするなんかは厳しい。javascriptなんでバイナリいじったりとかも。
  • Titaniumはプラットフォーム毎のネイティブにあったUIに勝手になる。そこはとても良い点。だが逆に注意も必要。
  • 1.6以降の情報ならだいたい2.0でも使えるっぽい。
  • 日本語の情報は増井さんとこのサイト http://ti.masuidrive.jp/ で情報共有がされてて、結構アクティブなのでおすすめとのこと。
  • TitaniumのAndroidエミュレータの起動と最初のコンパイルが劇遅で泣ける…
  • Androidのパッケージは一度コンパイル通すとその後のビルドは差分なのでだいぶ早くなるとのこと。
  • だから最初にプロジェクト作ったらまずビルドしちゃうのがおすすめとのこと。
  • Androidのはとにかくメモリを食うためメモリたくさん乗っけておくのがおすすめとのこと。
  • たまにビルドがうまくいかず変更したのに反映されないことが起きるらしい。その場合ブロジェクトのクリーンってので中間ファイルを削除できる。
  • ACSというAppceleratorの始めたクラウドサービスがあり、現在ベータで利用できる。
  • ACS使うと簡単に永続的なDBを使ったアプリが書ける、てかサーバ側の準備をする必要がないからとりあえずなんかテスト的なもの作るのはらく。
  • ACSのバックエンドのDBにはMongoDB使ってるとのこと。
  • 自分の環境だとCloudのチェックボックスがdisableになってるからなんでだ??と思ったらTitanium SDKが1.7でCloudは2.0以降じゃないとダメだからだった。
  • nodeのsocket.io使いたいけどTitaniumだと使えないですよね、と質問したら、増井さん自身が以前websocketのモジュール書いてて、それベースにしたsocket.ioのモジュールがTitanium用にもあるとのこと。それどんな真田さん?nowelium/socket.io-titanium · GitHub
  • mruby の話が面白かった。MobiRubyというiOSAndroidの上で動くrubyがあり今趣味ベースで作ってるとのこと。MobiRuby
  • たしかに競合するけど、出来上がったらjavascriptの代わりにmruby(MobiRuby)ベースのTitanium作るとかもあったら楽しそう。