22日(現地時間)、James Coglan氏は自身のブログ「The If Works」上でJavaScriptライブラリ「Ojay」がオープンソースとして公開されたことを発表した。

Ojayは、同氏が働いている「the OTHER media」で開発されていたJavaScriptライブラリ。今までは社内で開発されてきたが、今回オープンソースとして公開されることとなった。

Ojayは米Yahoo!が開発を行っているリッチクライアントWebアプリケーション開発向けのJavaScriptライブラリ「YUI」(The Yahoo! User Interface Library)のラッパーだ。YUIが抱えているいくつかの問題を解決し、オブジェクト指向のスタイルで読みやすいコードを簡単に記述できるようになる。現在、DOM、アニメーション、イベント、Ajaxモジュールのラッパーが提供されている。

同氏は、かつてPrototypeやjQueryといったライブラリを利用していたが、YUIを利用し始めてその作業量の多さに驚いたという。そこで、その問題を解決して他のライブラリと同じような高い表現力をYUIで実現するために、Ojayの開発を始めたそうだ。

Ojayの特徴は、メソッドチェーンを多用することで「どのように行うのか」ではなく「何を行うのか」という点のみに注目してコードを記述できることだ。CSSセレクタを用いて選択した要素のコレクションからメソッドを呼び出し、さまざまな処理を行うこともできるので、その点ではjQueryのプログラミングモデルに似ているともいえる。ただし、Ojayに備わっているメソッドチェーンは非常に強力だ。Ojayの公式サイトには「テキストをクリックすると、そのテキストがフェードアウトし、その後Ajaxリクエストを発行して、さらにそのレスポンスを画面にフェードインのアニメーションで表示する」というサンプルが紹介されているが、このような複雑な処理でも、関数を1つも定義することなく1つのメソッドチェーンで記述できるのである。

公式サイトではライブラリの使い方について詳しい解説がある。また、Animationのページには、少々複雑なアニメーションをOjayで記述した場合と、YUIのみで記述した場合の比較があり、その記述量の違いに驚かされる。

本当は、YUIが使いやすいように進化するのがもっとも望ましいことなのだが、現時点ではそうなっていないのだから仕方がない。YUIをすでに利用している方や、これからYUIを利用することを検討している方は、合わせてOjayについても調べてみてはいかがだろうか。