開発規約

自分用のTitanium Mobileの開発規約を作成していく。基本はJSのものですが、命名規則などはTitanium独自の仕様も含めていく。 Resourcesにソースと画像がごっちゃになってしまううーん。アセットとソースは分けるような形だとよかったんだけど。

JSファイル

コーディング規約

とりあえず

とりあえずどんどん加えていっていくつか作りながらレビューして振り返る。あまりこだわらない。

  • JavaScriptのコーディング規約に従う
  • includeは既存JSライブラリ呼び出し以外は使わない
    • 極力ラッパーを用意しexportsする
  • CommonJS(nodejsライク)に従う
  • オブジェクトの生成時にパラメータをできるだけ指定する
    • 一部作成時にのみ設定可能なプロパティがあるのでこの方針でいく
  • ウィンドウはファイルを分ける
  • ビューはファイルを分けなくてもよい
  • Titaniumの名前空間は常にTiを使う
  • ネットワーク通信(HTTPClient)は非同期で行う
  • Resources直下にはファイルはべた置きしない
  • メインとなる流れには極力端末依存を書かない
  • UIについてはJSSファイルは作成する
    • これでロジック、UI分離されているとは思わないけれど小細工するよりは今のところましかな。
      • バージョン2でも動きがかなり危ない。公式ドキュメントでもこの話題が避けられている気がする。今使うのは危険か?
  • イベント定義に定数定義をしなくてもよい。
    • TitaniumのSDKがもともと定義していないし、せっかくのJSなのでこだわらない

Titanium 命名規約

exports.addRecord = function(_record){
   return true;
} 

画面遷移

  • Androidは戻るボタンの活用、iOSはナビゲーションバーの使用
  • TabGroupを作りcurrentTab.openで上に載せていく
    • いいかえればTabGroupは常に作る(hideできるのでレイアウトにこの規約は影響しない)
  • createWindow({url:*.js})を使い呼び出す*.jsでは内部レイアウト・ロジックのみ定義
    • →微妙 htmlのリンクみたいになっているがjsだからあまりこだわらずにこれでいいのか要考察
    • module.exportsでwindowを*.jsで作成して返してそれを開き元がopenのほうが普通のやり方になるが うーん
      • ファイル自体をコンストラクタととらえるのか、コンストラクタは明示的に指定するのか

var window = Titanium.UI.createWindow({
    url:"*.js"
});
 
Titanium.UI.currentTab.open(window);

②-1

   module.exports = function SettingWindow() {
       var window = Ti.UI.createWindow(
		{
			title:"設定"
		}
	);
      return window;
   }

②-2

var SettingWindow = require('/*/SettingWindow');
var settingWindow = new SettingWindow();

Titanium Studioでコード補完を得るには

prototypeでクラスを作ってコード補完の支援を得るには書き方にコツがいるようです。

コンストラクタ

 

プロパティ

 

メソッド

 
titanium/dev_rule.txt · 最終更新: 2012/06/26 02:19 (外部編集)
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