タグ

ブックマーク / higelog.brassworks.jp (3)

  • TitaniumのロジックとUIのプロパティ定義を分離する - ひげろぐ

    UIの部品をたくさん追加するとコードの見通しが悪くなってくるので、なんとかしたいと思った。 そこでUIのプロパティを指定するオブジェクトを別の場所で定義して分離することにしてみた。 Ti.includeを使うとコードの分離は簡単なので、方法は至って単純。 styles.jsというファイルにプロパティの定義を追い出す。 2010/02/12追記 Titamium Mobile 1.5からJSSというものが使えるようになっていて、以下のstyles.jsでやっていることをCSSっぽく書ける。 ただ1.5の時点ではiOSで問題があり、JSSの更新が二度目以降のビルドに反映されず、更新を確認するためには都度build以下を削除しないといけないようなことになっているようだ。 元のコード まずは分離前。 hoge.js いたって普通に書いたコード。 UI部品が少ないうちは問題ないが、部品が増えてくると

  • requireでTitaniumのインクルードパスの問題を解決する - ひげろぐ

    Ti.includeじゃなくてrequireを使うと幸せになれるっぽい。 CommonJSでJavaScirptのモジュールを定義することになるので、Ti.includeをそのまま置き換えることはできないけど。 これで黒魔術とおさらばできるかしら。 実験 app.js var window = Ti.UI.createWindow({ url: "lib/hoge.js" }); window.open(); Ti.includeとは違うところを確認するためにlib以下のurlを指定したウィンドウを開く。 lib/hoge.js var hoge = require("lib/fuga"); hoge.foo(); lib/fuga.jsのrequireを行う。 Resourcesからの相対パスで指定できているところに注目。 Ti.includeで同じような指定をすると Ti.includ

  • Titaniumでユニットテスト - ひげろぐ

    公式のドキュメントには何の記述もないが、ユニットテストには好きなJavaScriptのテスティングフレームワークを利用できる。 ただしブラウザに依存しないもので、ログの出力をフックできるものに限る。 要はTitaniumのコンソールにログを出力するためにTitanium.API.infoやTitanium.API.errorなどにテストの出力を渡せればよいわけです。 今回はxUnit系で一番勢いがありそうなQUnitとBDD系でよいと言われているJasmineで試してみた。 QUnitを使う Titanium用のアダプターがGitHubで公開されている。 lukaso/qunitGitHub 自分のプロジェクトで利用する場合はResources以下に次のファイルを設置すればOK。 * runner.js * qunit/qunit.js * qunit/titanium_adapto

  • 1