Javascriptライブラリ比較
JavaScriptのライブラリの比較についてまとめをdel.icio.usで発見した。ちょっと興味があったので、少しだけまとめておく。
http://www.sitepoint.com/article/javascript-library/2
ここのサイトで取り上げられているのは、次の4つ。
- Dojo
- prototype.js + script.aculo.us
- Mochikit
- Yahoo! UI Library
なかなかまとまっていて私もだいたいわかった。
実際に使ったことがあるのは、prototype.jsとYUIだけだったけども、著者はMochikitが良さそうってことを書いている。まぁ、もちろんどんなところに使うかによって使うライブラリを分けようって話だったけども。
Dojoは、巨大なライブラリだ。だいたいの機能がそろっていて大規模なJavaScriptアプリを書くに向いている。そのため、ライブラリのファイルサイズも使うことのできるAPIも大きいので、小さなプロジェクトにはおすすめしない。
prototype.js + script.aculo.usは、ドキュメントが一番成熟している。(私の認識と違うけど、最近ドキュメントが充実してきているのかな。。。)そして、現時点で一番広まっているライブラリである。Rubyのイディオムに似ているので、Ruby開発者には問題なく使える。また、Railsで使われているので、バグフィックスとかもはやくていいとのこと。他にもscript.aculo.usやRicoのようなライブラリに使われているので、多くの開発者の選択肢の一つとしてあげられている。でも、イベントハンドリングにおいては、他のライブラリに劣っている。
Mochikitが一番よく設計されていていて、Pythonのイディオムに似ているため、Python使いは問題なく使える。ただ、ドキュメントが足りないと見受けられる点もあって、ちょっと混乱するかもしれないところはイケてない。でも、使い慣れたら、びっくりの連続だ。DOM周り、イテレーション、Ajaxなんて芸術的だぜ。
YUIは、prototype.jsを使うまでもない小さなプロジェクトに向いているとのこと。Ajax、イベント周りの使用方法を簡単に学べるところが魅力だとこと。でも、全体としていかした機能は少ない。
一時期YUIっていいねぇ、と思っていたけど、そうでもないのかな。個人的な意見としては、YUIは、YUIデザパタの実装方法をAPIとして提供したら、一気に評価があがると思う。いつかも書いたけども、Yahoo!は、今までのインターネットポータルサイトを支えてきたサイトなので、UIのノウハウがいっぱいあると思うんだよね。だから、あそこで提唱しているデザパタってかなり使えると思う。現時点では、実装するためにかなり力業を要しないといけない気がするので、私は手をつけていない。APIとして、あのデザパタを提供してくれることを望みます。あまりにも遅いと他のライブラリがそれをAPIとして作ってしまうと思う。
後、最近、symfonyを勉強してたけど、あれもprototype.jsを使っているね。フレームワークとの相性って普及するかどうかって大事だと思うので、prototype.jsがやっぱりいいのかなぁ、なんて思ってみたりもする。
Shin Ohno 2003-2012