SonicGarden (Taken with picplz.)
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年近くぶりに Be on The Same List のサービスのアップデートを行いました。
皆さん覚えていないかもしれませんが、僕が1年前に作成したサービスで自分と同じリストに入れられている他の人は志向が似ているはずだという考えから同じリストに入れられている人を被っている順でランキングするサービスです。僕自身も忘れていて久々にやったのですが、やっぱり精度が高い!!これぞクラウドソーシングですよね。自分のデータを一切利用せずに自分の近くの人を見つけ出すことができます。
僕の場合は、 @namikawa, @kuranuki, @a_kimura, @pastaonly, @nsgc がランクインしています。みんな知り合いですね!素晴らしい。
今回のアップデートは以下です。
まだ試したことのないあなた、是非お試しください。