February 26, 2011

Titanium勉強会のメモ

http://atnd.org/events/12449 これ

!! アーキテクチャーの選択
!!! マルチコンテキスト(Window と Source ファイルが紐づく)

ウインドウ間の連携できない
共通部分は、 Ti.App 以下に適当な Obj にぶら下げる => 制約って何?

Ti.Geolocationはcallbackのcontextに注意
URLを指定する感じでファイルを指定していく

=> 通常こっちを利用する

!!! フルコンテキスト(一つのコンテキストでやる)

Androidに対応していないケースがある

=> 1画面のゲームなどでしか使わない

!! 作り方

app.js が最初に起動される

view = Titanium.UI.createXXXView でビューを作って
view.addEventListener(‘click’, function(){ callback }) でイベント

win = Titanium.UI.crateWindow({url: “falename.js”}) な感じでWindowを作って
Titanium.UI.currentTab.open(win, {animated: true}) で開く

Titanium.UI.TableView でテーブル(リスト)とかを作れる
TableRowでひとつひとつのを調整できる

Titanium.UI.Animationでアニメーションができる
- Fransform3Dとかもある

外部ファイルを読み込むには

require(‘foo’);
foo.bar();
—-
exports.bar = function(){
  something();
}

include(‘file’) も使えるけど、名前空間の問題で require を使うほうがおすすめ

!! Tips

YQLを使うといいよ => XML/Atomをjsonにする

Pulltoreflesh は Twitterの引っ張ったらリロードのインターフェース

APIリファレンスよりも、KitchenSinkのほうが正しい

標準で足りない機能はモジュールでかく。オープンソースで公開されている?

非同期処理は、Defferredを利用するといいよ 要ブログ参照

高負荷になりそうな処理はObjective-Cでモジュールを書く

!! iPhoneとAndroidの違い

リロード機能を作るとすると
iPhoneは、画面の上の方にリロードボタン
Androidは、メニューボタンを押してその中から選ぶ

Titanium.Platform.osname で調べて、処理を調整する
☆ どっちかで作ってあとで必要に応じてわけるといいかもよ

!! Titaniumの考え方

環境ごとのデフォルトの挙動に従う

環境毎に整えるのはアプリケーション側で頑張る

!! 資料

https://github.com/masuidrive/TitaniumSamples

http://public.iwork.com/document/?d=Titanium_Mobile_Workshop_2011_47_02_47_25.key&a=p40748949

  1. hetmek reblogged this from mat-aki
  2. mat-aki posted this

スモールスタート