びんどうズ中間まとめ。

  • bindowsアプリを動作させる本体は、一つのxmlファイルだ。
    • (以下、例として、このxmlファイルを「Hoge.xml」という名前であるものとする。)
  • xmlファイルの名前から拡張子を取ったものが、JavaScriptのクラス名として適用される。
    • (例で行くなら「Hoge.xml」より「Hogeクラス」となる。)
  • xmlファイル(と、requireされているjsファイル)が読み込まれた後に、xmlファイル名から決定されたクラス内のmain関数が実行される(但し、main関数が存在する場合のみ)。
    • (例で行くなら、Hoge.main()が実行される事になる。予め以下のようにして定義しておくと良い。)
Hoge.main = function() {
  new Hoge;
};
  • bindowsの慣習として、main関数では、該当クラスのインスタンスを生成するだけにしておくものっぽいようだ。
    • (例で行くなら、上記のmain関数によって生成されるインスタンスのコンストラクタは、以下のようになるっぽい。)
function Hoge() {
  /* ウィンドウ及びアプリの初期設定等を行う…… */
  /* この内部では、this = Hogeインスタンスとなるようだ。 */
}
  • 様々な機能等は、BiObject(例えば、ボタン(BiButton)等)のaddEventListenerメソッドで設定する。イベントドリブン。addEventListenerの第一引数はイベント名、第二引数は無名関数、第三引数は無名関数実行時のthisの中味に入れておきたいものを指定。
  • ウィンドウの見た目の設定をする部分は、tkの知識またはJavaのawtの知識があれば、あっさり理解可能。
  • 特定のコンポーネントにアクセスしたい場合は、以下のようにする。
application.getComponentById("id"); /* コンポーネントのid要素を指定 */
    • コレ、実は省略するやり方もあるようだが、ちょっと微妙な気がする。詳細はマニュアルを「autoNameMapping」で検索。
  • 一番最初は、評価版のutil/AppWizardに入っているAppWizard.htaを動かして、スケルトンを生成するところから始める。
  • iconvは無い。bindowsアプリと通信するサーバ側は、bindowsアプリのページ(html)と同一のencodingでデータを送信する事。xmlやjsファイルも同様。utf-8推奨。場合によっては、それぞれに対してContent-Typeヘッダでcharsetを指定する必要があるかも(apacheの場合は.htaccessで指定する事になると思う)。
  • あとの細かいところは、 http://www.bindows.jp/download/index.html にあるマニュアルを読めば、ほぼ大体分かる。JavaScriptの簡単な解説もついている。誤植や誤訳も結構あるが気にしない。
    • しかし、このマニュアルには、肝心のxml-rpcsoapの部分が無い。英語版のマニュアルにも無いようだ。サンプルやリファレンスの方には説明があるので、そっちを参考にする。
  • あとは、ひたすら試してみる。評価版のsamplesに入っているものも参考になる。
    • ↑今ココ。


もう少し使いこなせるようになったら、wikiかどこかにまとめる予定。
(面倒がって、まとめない気が物凄くするが。)