クロスプラットフォーム開発

どうやって共通してコーディングできるようにするか考えないと、 二度手間が三度手間になりかねないのでどうやって両方の開発を一括で行っていくか自分の方針をまとめていきます。

一般的なネイティブの挙動は残しつつ、コーディングはきれいになる方法を考えていきます。

正直なところ1プロジェクトで複数のプラットフォーム対応を行うことに適しているのか判断がつきません。 APIやSutdioがこれらの対応に気を使ってつくられているのはありがたいのですが、手間がかかりすぎるような気がします。 ロジック部分だけどまとめ、テストまで終わらせておき、それぞれの環境向けにプロジェクトを作った方がいいかもしれません。 又は、両方のネイティブ開発になれているのであればTitaniumを使わずそれぞれ作るということも十分に選択肢としてあります。

参考

自分が何を作るかによってどこまで共通化をするかが決まってくるので参考にはし過ぎないようにする。

環境の判別

環境の判別を行う方法です。

Ti.Platform.osname

プラットフォーム
iphoneios(iphone or ipod touch)
ipadipad
androidAndroid
mobilewebWeb Browser

Ti.Platform.nameやTi.Platform.modelでより詳細なバージョン(iPhone 4)などまでとることができますが、 あまり使うことはなさそうです。

分岐サンプル

if(Ti.Platform.osname=="android"){
     //Android
}else if((Ti.Platform.osname=="iphone")||(Ti.Platform.osname=="ipad")){
     //iOS
}

Android Menuボタン

MenuボタンでMenuは表示しない。換わりにツールバーの形でボタンを表示する。

iOSでメニューボタンの代わりとなる挙動を実装するのは困難なので。

長押しでメニュー表示ということもありますが、それを説明しなければならなくので。

Android戻るボタン

iOSではNavigationGroupを使って戻る機能を実装する。

Android戻るボタン
iOSNavigationGroup

Cross-Platform Navigation Controllerを使って差異を吸収します。 使い方や挙動の概要は 2: A Cross-Platform Navigation Controller の動画で説明されています。

TabGroupを使う方が簡単でしたね。

titanium/common_ios_ad.txt · 最終更新: 2012/07/22 03:14 by enibloadmin
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0