AIR

Last-modified: 2010-08-31 (火) 14:06:15

Adobe AIRでの開発

HTML/JSの場合

Flexの場合

まずemacsに何もはいっていないので(as-modeすら入っていない)それらを入れる。

  • actionscript-mode
  • rascut (ActionScriptのコンパイル・ビルドを自動化し、ウェブブラウザに出力、log管理までやってくれる)
    • 使い方は
      rascut [-s:サーバモード。3001ポートを開ける] [-l /log/file/path] [-c "+configname=air":airみたいにコンパイル?] file.as

RubyGemsから入れるらしいが、gemがエラー。

ERROR: While executing gem ... (Gem::RemoteSourceException)

   HTTP Response 302 fetching http://gems.rubyforge.org/yaml

302、要するにサーバが移動しました。このエラーがめんどうなのはgemクライアントがサーバに問い合わせできないから更新しようにも更新すら走らない。手動でdownloadして更新。

$ curl -LO [.gem File]
$ sudo gem i rubygems-update-1.3.7.gem
$ sudo update_rubygems

豆知識

  • HTMLの描画エンジンはSafariとおなじWebKitらしい

Flexからのtrace

Flexでtraceをコンソールに出すには次の組み合わせを使えばよい。

  • amxmlc : -debug=true
  • adl : -nodebug

まとめ:http://d.hatena.ne.jp/eggtoothcroc/20091009/1255055177

メニュー

自分の開発では使用頻度順にMac用->Win用->Linux用とつくっていけばいいだろう。AIRアプリケーションはOSサイドのメニューは使用しないのがふつうなのか?

  • MXML形式で宣言できるのは Flex メニューだけ。メニューなんてほとんどstaticなんだから全部MXMLで宣言させろよ。とおもう。
  • メニューのタイプ
    • ApplicationMenu : OS Xのやつ
    • WindowMenu : Windowsのやつ
    • ContextMenu : 右クリックするメニュー
    • PopupMenu : Contextに似ているが、任意の場所にdisplayできる。
    • Dock/SystemTrayIconMenu
    • FlexMenu : Flexによるシステム依存性の低いメニュー?コンテキストメニューとかはこれでつくっていいようだ。
    • その他。
  • 基本的な流れ
    • 何らかの方法でmenuを作る。idを割り当てておく
    • そのidにaddEventListenerする。
    • eventに与えられたtypeやlabelから実行すべき処理を判定し、実行。
  • Win/Macで同時に使えるようにするために
    • ネイティブなメニューを使う場合。
      このプロトタイプに従えばいい。
      var root:NativeMenu;
      if (NativeWindow.supportsMenu){
          root = new NativeMenu();
          // create new menu. WINDOWS
      } else if (NativeApplication.supportsMenu){
          root = NativeApplication.nativeApplication.menu;
          // copy the present menu. OS X
      }
      //menu関係の処理
NativeApplication.nativeApplication.menu = root;

Reader:Todo

  • テキストファイルのD&Dを受け付けるようにする。
  • ルビふりできるようにする。
  • 青空テキスト/XHTMLから整形式をつくる仕組みを考える。