jQueryUIの素敵なとこってどこなんだぜ?

まず、jQueryの素敵な所

は何かって言うと、

  1. CSSセレクタで比較的簡単に簡単に要素を選択出来る
  2. メソッドチェーン(流れるようなインタフェース?)でDOM操作が快適に行える

という所だと思うのだ。
event関連とかAjax関連とかネイティブのAPIを素敵な感じにラップしてるよねー、
というのもあるんだけど今回の主題に関係ないのでパス。
要はDOM要素を「選んで操作する」のを快適に行うという点に優れている、
というのがjQueryのいい所だし、
気に入っている人の気に入っている所を言語化すると概ねそうなるんじゃないかな?

で、jQueryUIだけど

DOM要素を「操作する」の抽象度を上げて、
「UI部品化する」にしたものなんだと思う。
「選んだ要素をUI部品化する」のを統一感のあるAPIで実現出来る。
jQueryの機能でDOM要素を選んだ後、

それをUI部品のガワになるようにDOM操作し、
DOMのeventより抽象度の高いUI部品としてのeventを設定し、
UI部品に作り替える。

というのを一発でポンとやれるAPIが気持ちいいところで、
UI部品としてのeventの抽象度が使いやすい所なんじゃないかなー、と。


で、各pluginをそのように作れるフレームワーク部であるUI Coreがエラい。
ありもののpluginを使うだけだと素敵さはまだ半分で、
欲しいUI部品に応じて、自分で

それをUI部品のガワになるようにDOM操作し、
DOMのeventより抽象度の高いUI部品としてのeventを設定し、
UI部品に作り替える。

処理を記述して同じような使い勝手の欲しいpluginを作ると本当に楽しいのではないかと思う。

まとめ

jQueryUIの神髄はUI CoreというUIの抽象化の為のフレームワークであり、
それを活用してどんどんpluginを書くと楽しいと思う。
(推奨なのか、非推奨なのかは知らない)

おまけ

独自pluginどんどん書きたいのでUI CoreのAPIにはそろそろ落ち着いてほしいと思う。
1.5.2から1.6RC2でかなり変わってる。