Yahoo Widget Class Library をちょっと読んでみた
ところでコレ、ライセンスどうなってんだろ?
基本的には
- Widgets/Library/LibraryShared.js を include()
- Widget Engine 標準の include() はパスを受け取る
- var lib = new Yahoo.Utility.Library( libpath )
- libpath は Widgets/Library のことナリ
- なんと lib は中で普通に使っているのでこの名前で作ってあげないとダメ
- 以降は lib.include( Classname )
- WCL の include() は base の libpath と .js を自動的に付加して Classname だけで動く
- version も指定できる
という流れ。
1 の段階では library の path を計算して、存在していれば処理続行。存在していなければインストールしてくんないと動かないよというメッセージを出して止まるように書くべし。
いろんなコントロールがそれぞれの class として定義されている。
ちょっとアレだなーと思うのは
- Yahoo.Controls.
- Yahoo.Drawing.
- Yahoo.Utility.
という名前空間になっていて、YAHOO.widget. は YUI の方に取られてしまっている。うーん。YUI が YUI で namespace を取ればよかったのにね。
しかしこの library はユーザーの Widgets フォルダに保存されるので、ユーザーが変わったらインストールし直しっつーのが面倒くさいな。まぁ自分の配布したい widget にそのまま同梱しちゃうっていう手はあるんだけど。
むしろグローバルの lib をぶんどってしまっているのがすげーダサイ気がする。そんなんでいいのか。