Yahoo Widget Class Library をちょっと読んでみた

ところでコレ、ライセンスどうなってんだろ?

基本的には

  1. Widgets/Library/LibraryShared.js を include()
    • Widget Engine 標準の include() はパスを受け取る
  2. var lib = new Yahoo.Utility.Library( libpath )
    • libpath は Widgets/Library のことナリ
    • なんと lib は中で普通に使っているのでこの名前で作ってあげないとダメ
  3. 以降は 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 をぶんどってしまっているのがすげーダサイ気がする。そんなんでいいのか。

More