Mootoolsベースでサイトを構築していく
JavaScriptのライブラリが3、4種類ある。prototype.js、jQuery、Mootools、マイナーなところでMochiKit。ブラウザの依存関係をなるべく解消、吸収し、制作者側が記述するコード量を大幅に減らしてくれるこれらのライブラリは、今やなくてはならない存在となった。そんな中、最近思うのはMootoolsでほぼすべて完結できてしまうのではないかということだ。
そう思ったのは先日Clientcideというサイトを発見したからだ。すべて見きれてないのだが、ここに掲載されている拡張ライブラリをうまく使えば、Mootoolsベースでほぼ要求を満たせるのではないかと思った。ここでいう要求とは、細かい要件ではなく、「XXXがしたい」などというおおざっぱなものだ。
もちろん他のライブラリでもこういったものは存在する。私は、Mootoolsを利用することが多いので、そう思うのかもしれない。理由はないが、単に使い慣れているからだと思う。ちなみにjQueryがよくわからないので、現在勉強中である。DOM操作はデフォルトではあまり機能がそろっていないし、、、
Mootoolsはprototype.js、jQueryから比べると、3番手ぐらいのしろもので、日本語ドキュメントも比較的少ない感じがする。オフィシャルサイトでダウンロードできるのは、DOM操作やイベント処理を含んだ基本ライブラリ(CORE)とモーフ(morph)やトゥイーン(tween)、トランジション(transition)、アコーディオン(accordion)などのオフィシャルが提供している拡張ライブラリ(MORE)の2種類を、希望する機能にチェックを入れる形式でダウンロードする。私は大体、全部チェック入れてフルパッケージ化してダウンロードしている。
先ほど紹介したClientcideというサイトでは、これにプラスして、マーキー(marquee)やムーブ(move)、ソート(sort)、拡張された日付オブジェクトやIE6に対するPNG対応スクリプトも用意されており、設置方法もいくつかのサンプルコードがあるため、非常にわかりやすい。しかもこれらを本家と同じようにチェックを入れてダウンロードできるようにしているため、実にありがたい。依存関係もこのダウンロード方法なら気を使わなくてもいいからだ。
さて、面白いのが、IE6に対するPNG対応のライブラリ。個人的にはIE6はさっさとこの世から淘汰されてほしいと思っている。まったくもって負の遺産である。IEの3世代が乱立している現状は、はっきりいっていい迷惑だ。しかもあのIEがだ。
それはさておきこのような場合IE PNG Alpha Fixというのを使う方も多いだろう。確かに便利だが、サイトが大きくなると独立したこれらスクリプトは個々に読み込む必要があるし、コードの書き方も違うので、ふとしたバグも起きやすいだろう。同一ライブラリで吸収できるのであれば、そのほうがいい。
これからこのサイトを活用していくので、その時はまた報告する。では。