|何となく最近思ってる事を書きとめてみた。WSHと拡張性WSHは現在5.7がlatestだけど、メジャーバージョンはもう上がらないみたい。今後は細かなセキュリティ上のfixしか行われないようです。*1なので面白い機能が追加される事は期待しない方がいい。WSFとCLIアプリWSFを使うとCLIアプリが作りやすいんだけども、結局cscriptから叩かないと動かない。本当ならexe化出来たらいいんだけど、公式ではそういう物は無い。あと問題なのがcscriptでワンライナーが書けないって事。Perlで言うところの-eみたいな奴の事。やろうと思えばWSFを使ってそういうワンライナーが書けるwrapperスクリプトは実現可能。そのうち気が向いたらやる。Componentの略で平たく言えば、ActiveXオブジェクトを任意のActiveScript(JScript/VBScript)で実装出来るって枠組み。任意のインターフェースを実装する訳じゃないのが痛い。それが出来たらBHO*2をJScriptでとか出来たのに。something}みたいな感じで書けるんだけども、これがobject要素のevent属性をtrueと言う形でしか実現出来ない。scriptで宣言したActiveXObjectに対してイベントハンドラを定義する仕組みが無い。ScriptXのEventSinkを使うと出来るんだけど、この機能が不安定っぽぃし野良COMだしなぁ。Component)と大体同じように拡張機能を提供出来るのは面白いし、実装を外部化出来るので、呼び出しはFactoryパターン、つまりActiveXObject経由で行いつつ、実装は裸のjsファイルを使いまわすなんて事が出来る。必要ならtlbファイルなんかを集めて汎用的に使うライブラリなんてのも出来るっちゃ出来る。これは実はちょっとやってみたい。WSH関連のまとめと言う訳でWSHは一通りやると分かるけど面白い事が出来る事は間違い無いけど、無茶しようとする場合はActivePerlとか使ってCPANモジュール使うVC使って自分でActiveXを作るWSCを地味に作って遊ぶそれらの組み込みはWSFでやってwrapper作る。やらない限りは規定の枠組みを拡張ってのは出来ない。あるActiveXはそれなりに色んな用途に使えて面白いけど、如何せん情報が少なすぎる気がする。それとJScript.NETは避けて来てたんだけど、そろそろ試してみようかなぁ。.NET系のライブラリはWSHからもActiveXObject経由で使えるんだけども、まぁJScript.NETもやってみないとよしあし分からないし。RunnerとかXAML辺りの先駆けと言って良いテクノロジで、ぶっちゃけhtmlをIEで開いただけの物ってイメージで差し支えない。*3なんでUIはHTML+CSSで記述する訳なんだけど、これらのパーツを作るライブラリがいまいち無いのが問題。Hosting.こういうのもあるけど、人並みなGUIを作るほど揃ってる訳じゃなかった。これこそHTC作って共有すべきなんだろうなぁ。HTCでXULで定義されてる要素を実装とかキチガイじみた事でもしたら、ある意味神だwwかと言っていわゆるAjaxとかって言う総称で呼ばれてるリッチなUIライブラリとか全然使う気になれない。HTAはそんな訳でほとんどやってない。本当はちょっとやりたいんだけども。XAMLのがいいんじゃないかなぁ、まだやってないけども。あといわゆるVBとかのUIを構成するコンポーネントを配置すればいいのかもしれないけど、これこそobject要素でコンポーネントを埋め込んで、id属性名で取得して自前で設定していくなんて苦行以外の何者でもないだろう。何がどれだかさっぱり分からんしwwwあとobject要素でUI構成が隠蔽されてたら、マークアップしてる意味がねぇ。そもそも論だけどHTMLは語彙も少ないし、GUIを記述する為の物では本来無いので、その語彙の中でGUIを作るって土台無茶がある。Runnerで動くアプリケーションは可能性を感じる。XULXBLXPCOM(PyXPCOMも含め)辺りを組合すとUIに大して相当突っ込んだ機能を盛り込む事が可能。今はXBLやってるんだけど*4、HTC/Behaviorと非常に似てる。Mozilla系は思うところはたくさんあるんだけど、Firefox拡張は便利になるのは分かるけど入れすぎると重たくなるんで、結果たくさん入れづらいと言う弱点がある限りは、それだけじゃなーって感じがする。ま、必要な物(国際化、マルチプラットフォームなどなど)は全て揃ってるので他のデスクトップアプリケーション系の物より可能性はあると僕は思ってる。XPCOMC++が書けるようになりたい。Runnerアプリの可能性をより高められるし。拡張用に再利用可能なライブラリってのでまともなものが無いんだよね。Foundまだ試してないけど拡張ってXPCOMだけを実装して配布とか恐らく出来ると思うんだけど、こういう流れは無いよね。あとinstall.rdfにrequires要素ってのがあって、依存性のある他の拡張を指定する記法があるんだけど、これもどこまでそういった用途に使えるか分からない。JSって何かすると基本的にGlobal領域を汚染しやすいのがネックで、namespaceも自前で解決しなきゃなんで、XPCOMのような枠組みは有効なのかなとは思ってるんだけど、その辺りを整備してホスィなぁ。Hacker達がどう思ってるとか是非に聞いてみたい。JavaScriptって命令でJSのコードを流す事が出来るみたい。これ使うと相当面白い事出来そう。AppleScriptのシンタックス覚えるのがうんざり。AppleScriptでやってる事そのものがJavaScriptで書けたらいいのになー。いう事出来ないのかなぁ。JSって何かすると基本的にGlobal領域を汚染しやすいのがネックで、namespaceも自前で解決しなきゃなんで、XPCOMのような枠組みは有効なのかなとは思ってるんだけど、その辺りを整備してホスィなぁ。これだけなら、http://developer.mozilla.org/en/docs/Components.utils.importが有用じゃないでしょうか。