Web CAT Studio (株式会社リクルートエージェント)主催のTitanium Mobileの勉強会に参加してきました。
200名近く参加されており、やはり注目の技術なのだなと実感しました。(7割近くがエンジニアの方, あとはディレクターやデザイナーの方)
ひと通り聴き終わっての感想は…。
- Titanium mobile = Android & iPhoneアプリが一気にできると思ってしまうけど現実は甘くない
- 現実はソースコードの中でOS別に実装分けたり、最初から単一の環境をターゲットにしたりしている
- ただ、iPhoneやAndroidどちらか一方をターゲットにしたアプリを作るのであっても、Titanium mobileで作るメリットは大きそう (実装スピードの面で)
- ゴリゴリとした描画や処理が必要無いアプリ(既存のWebアプリに数字を送るとか、既存のスマホ向けの画面を引っ張ってくるとか)であれば、むしろ書きやすそう
- 灰色ハイジさん(普段はデザイナー)がアプリを作られた経験の話を聞くと、アプリ開発者のマスが広がりそう
- スケッチから簡単な動きのあるモックをデザイナーの方が作って、細かいイベントの呼び出しやサーバ間通信、サーバサイドの実装をするといったことができたりしないだろうか(妄想)
といった具合です。
何はともあれ面白そうなので、早速何かつくってみようかな…。
以下、雑ではありますが、参加した際に作成したメモです。
Titanium Mobile intro 増井 雄一郎さん
- 所属: Appcelerator, Inc. (Titanium mobile開発しているところ)
- 現在はエヴァンジェリストとして活動中。
- 実際に使われているの?
- モバイルアプリに大事なこと = User Experience
- Titaniumであれば、「タブを作る」という実装はそれぞれのOSにあわせた変換が行われる
- どこまで書けるのか?
- 大体OSがサポートする全機能使えます
- できないことはないのか?
- 画面描写系は弱い (線を描画する等)
- 写真の撮影はできるが、画像のフィルタリングは厳しい
- シューティングゲームとか更新の激しいものは厳しい
ただし、ObjCとかJavaで拡張できる。(但し両方OSに対応する必要あり)
有償のモジュールも使える
- Titanium → Write once run anywhereではなくて、モジュールで柔軟に対応できる
- (モジュールで柔軟に対応できることを表したキーワードを増井さんが言われたのだけどメモできなかった…)
- やっぱり得意なのは...
- フロントエンド系モバイルアプリの開発
- おすすめする本・Webサイト等の話
- ところでAppcelerator社のビジネス
- Titanium用追加Native Module (グラフ描画とか) の販売
- サポート
- 認定トレーニング(12万円, 2日間)→トレーニングの最後のテストにパスするとロゴ等が利用できるらしい。
Titanium Mobileで作るアプリ事例紹介1【Zaim】 閑歳 孝子さん
- 自己紹介(ユーザーローカル所属)
- IT系ニュースサイトの記者からWebディレクター、そしてWebエンジニアへ
- サービスの紹介
- サービスのリリーススケジュール
- 2010年末に思いつく
- まずPHPでサーバサイドを開発→Titanium mobileでiOS対応版開発→リリース
- 2010年末に思いつく
- なぜTitanium mobile?
- Objective C, Javaの経験がなかった
- 昨年2月リリースされたMogSnapがTitanium mobileで作られたことを知った
- Titanium mobileの素晴らしいところ
- サンプルが多い
- Javascriptがかければよい (エンジニアではない人ももっとやるべき)
- コミュニティがしっかりしてる (質問したら回答してもらえる環境)
- Titaniumの注意
- 現実問題として両対応は一筋縄にはいかない。
- リッチなアプリは厳しい感じ (※ここは増井さんも言われていた通り、やはり
- 実装
- Common JS・シングルコンテキストで実装するスタイルが推奨されている(らしい)
- Android対応アプリを作るためにはこのスタイルが必須なのでは?
- Githubにサンプルが多く上がっているので見てみるとよい
- CoffeeScriptのサンプルも参考になる
- Common JS・シングルコンテキストで実装するスタイルが推奨されている(らしい)
- 実際のソースコード例
- 共通モジュールを読み込む → 設定 → 部品のイベント実装
問題事例集… (悩めるAndroid)
- デザイン問題
- Androidグラデーション効かない
- 画面の比率がひとつじゃない
- JSSは少し使いづらい (JSS=Titaniumが提供するスタイル設定)
- なので独自でスタイル設定用のライブラリを作っている
- TableView問題
- iOS向けだとgetChildrenでテーブル内の要素にアクセスできたけど、Androidだとアクセスできない!
- 行情報をアプリ上で保持していて、修正が発生した場合は全てテーブルを作り替える様な形で対応した…。
- iOS向けだとgetChildrenでテーブル内の要素にアクセスできたけど、Androidだとアクセスできない!
- OAuthAdapter問題
- oauth_adapter.js (1種類のOAuth providerが前提になってる)
- 変えたものをgithubで公開しますー。 (http://github.com/unicco )
- ボタン&タブバー&ピッカー問題
- Android OSとiOSで全く違う
- OS別に呼び出すオブジェクトを分けている
- 多言語対応問題
- Androidだとうまくいかないケース多数 (スペースやカンマなどが入るとNG)
- 多言語対応が便利なスクリプトもgithubに公開しますー。
- Androidだとうまくいかないケース多数 (スペースやカンマなどが入るとNG)
情報源
- github
- 最新版ビルド
Titanium Mobileで作るアプリ事例紹介2【積ん読本】 灰色 ハイジさん
- 自己紹介
- 博報堂アイ・スタジオ所属 (270名ぐらい在籍, Webデザイナー)
- 開発したアプリ
- "積ん読本"
- 社内プロジェクトで始まったけど、時間確保が困難になる… → 自分で企画+デザイン+実装することに! (開発期間2週間くらい)
- 買って読んでいない本を管理する (デザイナだから見やすいUIで管理したい)
- "積ん読本"
- Titaniumだと簡単にテーブルが作れた!→デザイナーでも実装できそうだと思えた
- デザインを忠実にするために
- Titanium標準のナビゲーションバーを使うと自分の想定した色を再現できない…。→ナビゲーションバーを自作して解決。
- スクロール
- アイコンの話
最近のコメント