何故、prototype.jsを使うのか?

http://d.hatena.ne.jp/brazil/20050909/1126254775が列挙しているように、様々なJavaScriptライブラリが公開されている。その中のいくつかを実際に触ってみたが、prototype.jsが一番しっくりきた。何故だろう?

1つの理由は、prototype.jsは安心して利用できるライブラリだからだろう。私の安心感は、prototype.jsの利用法の学習が無駄にならないだろうという感覚から生まれる。prototype.jsは、フレームワークというよりは、便利クラス、便利メソッドの集積である。そのため、prototype.js全体を学ばなくても、自分に必要な機能だけを簡単に利用できる。また、自分で同じ機能を再実装するのも比較的容易である。すなわち、仮にprototype.jsが利用不可能となっても、回避策はいくらでもある。

それに対して、例えば、MochiKitフレームワーク指向のライブラリである。MochiKit全体を理解すれば、生産性は高くなるだろうが、MochiKitへの依存度が高くなる。JavaScriptライブラリのデファクトが存在しない以上、特定のライブラリへの依存は危険に感じる。一方、prototype.jsのソースを理解するには、Class.create, Object.extend, Function.bind, $() の4つのメソッドを理解していればおおむね十分である。

というわけで、迷ったらprototype.jsというのが現状では一番安心な気がします。prototype.jsのソースは、可読性も高く、JavaScriptプログラミングの教科書としても優れていると思います。setTimeoutでスレッド処理prototype.jsのソースから学びました。