2011年2月28日 / 最終更新日時 : 2011年3月1日 あかひげ Titanium Mobileを二ヶ月くらいさわってみた感想。 今年に入ってからほぼ毎日触ってました。でもほとんどiPhone開発しかしてない感想。 主観的なところをだらだらと書いてみましょう。 とりあえず気に入っているところイマイチと思うところを挙げてみたい。 合わせて総評など。 […]
2011年2月27日 / 最終更新日時 : 2011年8月11日 あかひげ requireでTitaniumのインクルードパスの問題を解決する Ti.includeじゃなくてrequireを使うと幸せになれるっぽい。 CommonJSでJavaScirptのモジュールを定義することになるので、Ti.includeをそのまま置き換えることはできないけど。 これで黒 […]
2011年2月26日 / 最終更新日時 : 2011年2月26日 あかひげ iPadで軽快に読める自炊PDFを作る 最近は電子媒体の出版が増えてきていいかんじだが、もっと増えて欲しい今日この頃。 自炊に関するメモをずっと前に書きっぱなしだったのを発見したので、せっかくなのでここに残しておく。 AmazonでぽちったScanSnapと裁 […]
2011年2月25日 / 最終更新日時 : 2011年2月25日 あかひげ モジュールのマニフェスト Titaniumのモジュールのバージョン番号とかどうやって変更するのかなと思ってドキュメント読んだら、manifestというYAMLを編集すれということらしい。 # # this is your module manif […]
2011年2月24日 / 最終更新日時 : 2011年2月24日 あかひげ TitaniumのJSSという機能 1.5.1から追加された機能で、オブジェクトの外見をJavaScript StyleSheetでカスタマイズできる。 コンパイルされたファイルを消してビルドし直さないと修正が反映されないという大きな問題があったが、1.6 […]
2011年2月23日 / 最終更新日時 : 2011年2月23日 あかひげ JavaScriptのクラス定義の小技 素のJavaScriptでクラスを定義しようとするとprototypeってたくさん書くのがめんどくさい!って思ってたけど、いろんなソース見てたらprototypeにオブジェクトを渡すと言う小技を発見した。 ClassA […]
2011年2月22日 / 最終更新日時 : 2011年2月22日 あかひげ Windowの処理をオブジェクトにラッピングする createWindowしたときにurlで指定して呼び出すファイルの書き方について。 サンプルなどでは処理をべた書きしていくが、実際はひとつオブジェクトを定義して、そこにプロパティや処理をくっつけて行った方が収まりがいい […]
2011年2月21日 / 最終更新日時 : 2011年2月21日 あかひげ JavaScriptの配列の反復メソッド mapやfilterといったメソッドを使うと配列の処理をループじゃなくてクロージャですっきり書けるようになるので便利。 リファクタリングで言うところの「ループからコレクションクロージャメソッドへ」 ただしJavaScri […]
2011年2月20日 / 最終更新日時 : 2011年2月23日 あかひげ テストやデバッグのために知っておきたいTitaniumのオブジェクトの特徴 それは JavaScript側のオブジェクトはネイティブのオブジェクトの情報を全て持っているわけではない。 ということ。 以下のようにメソッド呼び出しをトリガーに必要に応じてとってくるかんじのようだ。 view = Ti […]
2011年2月19日 / 最終更新日時 : 2011年2月19日 あかひげ 開発時のビルドでモジュール読み込みにかかる時間をなくす モジュールを使うときはtiapp.xmlを以下のように編集するのだが to.brass.nai この状態でビルドすると何をしているのかわからないが、5秒から8秒くらい余計にかかる。 通常は1秒〜3秒(注:すでに一回以上ビ […]
2011年2月18日 / 最終更新日時 : 2011年2月18日 あかひげ Ti.Appにオブジェクトをくっつけてグローバル変数的に使う Ti.Appはグローバルなオブジェクトなので、これにメソッドやプロパティをくっつけるとTi.Appを介してどこからでも使えるようになる。 Ti.Appってそうやって使っていいものなのかという疑問は残るが、いろんなソース片 […]
2011年2月17日 / 最終更新日時 : 2011年2月17日 あかひげ Jasmine TitaniumをGithubで公開しました akahigeg/jasmine-titanium – GitHub お得意のヤク毛刈りの延長でまとめたものをついでなので公開してみました。 fork歓迎です。 specs.shを見ると分かりますがけっこう強 […]
2011年2月16日 / 最終更新日時 : 2011年2月16日 あかひげ Titainiumでステータスバーにインジケータを表示する TiUIWebViewで作ったアプリ内ブラウザでページをロード中にインジケータがどこにも回ってないのに気がついて、くるくると回るインジケータを表示したいと思った。 ActivityIndicatorは作る方法があるので、 […]
2011年2月15日 / 最終更新日時 : 2011年2月15日 あかひげ CoffeeScriptの@について再び コンテキストによってthisの内容が変わるという問題を回避するために必要な that = this 実はこれなしでも済む記法がCoffeeScriptには存在することに気がついた。 「=>」(fat arrow) 手元の […]
2011年2月14日 / 最終更新日時 : 2011年3月19日 あかひげ CoffeeScriptでTitanium 一ヶ月目くらいの感想 CoffeeScriptについて ここんところしばらくCoffeeScriptとTitaniumの組み合わせで開発しているわけだけど、CoffeeScriptに関して言えば特に大きなハマりどころもなく快適に使えている。 […]
2011年2月13日 / 最終更新日時 : 2011年2月13日 あかひげ Titaniumが生成したObjective-Cのコードを修正する 禁断の技に手を染めてみたメモ。 しかしながらこの技は相当の技術的負債をともなうため、非推奨。 修正対象のコードのある場所 一度でもアプリをビルドするとproject_dir/build/iphone/Classes以下に […]
2011年2月12日 / 最終更新日時 : 2011年7月29日 あかひげ Titaniumのモジュール作成にチャレンジ MapViewのアノテーション表示処理をカスタムしたくてモジュール作りに走ってみた。 参考リソース 日本語リソースとしては以下のページがとても参考になる。 [Titanium] Titanium Module Devel […]
2011年2月11日 / 最終更新日時 : 2011年2月11日 あかひげ CoffeeScriptの@ではまった話 つまりJavaScriptのthisではまった話なんだけども。 まったくJavaScriptのthisってやつは・・・ 駄目なコード とあるAPIからhttpでデータを取得するという処理。 TitaniumとCoffee […]
2011年2月10日 / 最終更新日時 : 2011年2月10日 あかひげ XCodeとRubyの思わぬ関係 Titaniumで構築したiPhoneアプリの実機インストールがうまく行かないので原因を探ったら、なんとMac標準のRubyを無効にしているせいだったという話。XCodeのプラグインがRubyで書かれてたりするんですな。 […]
2011年2月9日 / 最終更新日時 : 2011年2月9日 あかひげ 既存のTableViewの行を取得する TableView > TableViewSectionの配列 > TableViewRowの配列 という構造を念頭に置く必要がある。 単純なテーブルの場合はdataにTableViewRowの配列をそのまま突っ込めるの […]
2011年2月8日 / 最終更新日時 : 2011年2月8日 あかひげ TitaniumのaddEventListenerについて再び TitaniumのaddEventListenerで同じイベントに登録した処理は順番に同期実行される。 Firefoxなどのブラウザ(ただしIE除く。IE9は不明)の実装でも同じ挙動になるので、これはこの通り動くと期待し […]
2011年2月7日 / 最終更新日時 : 2011年2月7日 あかひげ MooToolsを利用したJavaScriptのオブジェクトの比較 素のJavaScriptではオブジェクトが同じ内容かどうかを調べるのはけっこうめんどうだが、MooToolsを利用してObject.toQueryStringで文字列に変換して比較すると楽。 objA = { a: 1, […]
2011年2月6日 / 最終更新日時 : 2011年2月6日 あかひげ WebViweに表示されているHTMLからTitaniumの処理を実行する Objective-CではUIWebViewDelegateを使うとHTML内のリンクをクリックした時にアプリ内のネイティブな処理を実行する事ができた。 Titaniumでも同じ事ができる。 しかもかなり簡単に。 このお […]
2011年2月5日 / 最終更新日時 : 2011年2月6日 あかひげ addEventListenerで登録した処理が複数回実行される問題 と言うものでしばしハマったのだが、原因はTitaniumのバグではなく仕様であり、自分のプログラムのやり方だった。 原因は同じイベントに複数のコールバックを設定できるため、同じ内容でaddEventListenerを複数 […]
2011年2月4日 / 最終更新日時 : 2011年3月1日 あかひげ TitaniumでjQueryを使う Appcelerator Developer Center – Use of Jquery windowとかdocumentオブジェクトがないせいで動かないので、空のオブジェクトを定義してやるという方法。 そ […]
2011年2月3日 / 最終更新日時 : 2011年3月24日 あかひげ TitaniumのロジックとUIのプロパティ定義を分離する UIの部品をたくさん追加するとコードの見通しが悪くなってくるので、なんとかしたいと思った。 そこでUIのプロパティを指定するオブジェクトを別の場所で定義して分離することにしてみた。 Ti.includeを使うとコードの分 […]
2011年2月2日 / 最終更新日時 : 2011年2月2日 あかひげ TitaniumのUIコントロールの親オブジェクトを得る Titaniumのドキュメントには載ってないがgetParentメソッドが使える。 ここで言う親オブジェクトというのはそのUIコントロールが乗っかっているオブジェクトということで。 サンプルコード app.js var […]
2011年2月1日 / 最終更新日時 : 2011年7月24日 あかひげ TitaniumのインクルードパスをResourcesからの相対パスで指定する方法 2011/02/27追記 Ti.includeではなくrequireを使えば以下の黒魔術は必要ない。 あとAndroidでは元々このインクルードパスの問題はないそうだ。 2011/07/24追記 MobileSDK1.7 […]