Hatena::ブログ(Diary)

oct inaodu

 | 

2005-09-09

AJAX/JavaScriptライブラリまとめ (2005/9/6 Revision .1.3)


Copyright 2005 by Sergio Pereira, Joe Walker, Matthew Eernisse


※本翻訳は、2005/9/6の1.3版を基に作成されています。原文であるWikiページは、1.18以上に更新が進み記載されているライブラリの数が増え、複数の誤りが修正されているようです。最新の情報は原文を参照してください。

Prototype (http://prototype.conio.net/)


  • 概要:

Prototypeは、動的なウェブアプリケーションの開発を容易にするためのJavaScriptフレームワークです。Ruby on Railsフレームワーク駆動で開発されている点も多いですが、どのような環境でも利用できます。


  • 長所:
    • ScriptaculousやRico(同様にRuby on Railsに含まれる)、その他の多くのツールキットでも、基礎として広く利用されています。
    • XMLHttpRequestへの極めて低レベルなアクセス手段を提供します。

  • 短所
    • IEのサポートは、IE6のみです。
    • README以上のドキュメントはありません。READMEには「Prototypeは驚くほどドキュメントがありません。(ソースコードは容易に理解できるべきだと思いますし、私も分かりやすい識別子を使ってクリーンなスタイルでコードを書くことを心掛けています。しかし、ドキュメントの不足は一時的なことだと思っています。)」とあります。非公式のリファレンスhttp://www.sergiopereira.com/articles/prototype.js.html にあります。また、ScriptaculousのWikiに断片的に情報が存在しています。
    • AJAXのレスポンスのXMLドキュメントにアクセスする手段は含まれていません。

Rico (http://openrico.org/)


  • 概要:

リッチインターネットアプリケーションを作成するためのオープン・ソースJavaScriptライブラリです。Ricoは、ドラッグ・アンド・ドロップの管理や、映画のような視覚的な効果の作成を全面的にサポートするライブラリです。


  • 長所:
    • Sabre Airline Solutionsが法人としてスポンサーをしています(Apache2.0License)。これは、コードが実際の業務で利用され、商用アプリケーションでユーザによってテストされているということを意味しています。
    • 広い範囲にわたって関数と振る舞いが提供されています。

  • 短所
    • ドキュメントに乏しく、現時点ではPDFが2つと、ブログにエントリが一つあるだけです。
    • IEは、IE5.5以上のみをサポートしています。Safariも、サポートされていません。ウェブサイトには「RicoはIE5.5、IE6、Firefox 1.0x/Win Camino/Mac、Firefox1.0x/Macでテストされました。現時点では、SafariMacIE 5.2はサポートしていません。今後のリリースでSafariのサポートが提供される予定です。」とあります。
    • AJAXのレスポンスのXMLドキュメントにアクセスする手段は含まれていません。
    • IEでのドラッグ&ドロップの挙動は明らかにおかしいです(IE6でテストしました)。

Scriptaculous (http://script.aculo.us/)


  • 概要:

Script.aculo.usは、いかしたWeb 2.0スタイルのアプリケーションを作るための、簡単に使えて、究極的で、すごくクールなライブラリです。


  • 長所:
    • サイトは良く整理されています。実際に、いくつか参考となる素材が各セクションに添付されています。多くの素晴らしい視覚効果を見ることができます。

  • 短所
    • AJAXの機能はRuby on Railsから引っぱって来ているようです。Railsが本当に必要かは分かりませんが、サイトにはAJAX特有の機能に関するセクションは全くありませんでした。
    • IE5.xはサポートされません。上記の、Prototype短所を参照。

MochiKit (http://mochikit.com/)


  • 概要:

「MochiKitはJavaScriptの手間を減らします。*1ドキュメントが豊富で、よくテストされ、手早く仕事を終えられるJavaScriptライブラリのセットです。MochiKitは、PythonObjective-Cなどから学んだ素晴らしいアイディアを、JavaScriptクレージーな世界に持ち込みました。


  • 長所:
    • テスト駆動開発。―「MochiKitには、何百ものテストがあります。」
    • 徹底的なドキュメント作成。―「MochiKit以上に良いドキュメントが揃っているJavaScriptのコードは見つからないでしょう。私たちは、MochiKitのすべての部分で、常に100%ドキュメントが揃っていることを維持するように心がけています。」

  • 短所
    • 現在はIEのサポートはバージョン6のみです。プロジェクトのリード開発者によると、「IE5.5は少しつつけば動くかもしれない*2」とのこと。Safari 1.xはサポートされません。
    • 視覚効果用のライブラリはわずかです。
    • AJAXライブラリ('Deferred'と呼ばれる)の機能は限定されています。POSTがなく、エラーハンドリング時のHTTPステータスやXMLレスポンスへのアクセス手段もありません。

SAJAX (http://www.modernmethod.com/sajax/)


  • 概要:

Sajaxは、Ajaxフレームワーク(XMLHTTPRequestまたはモートスクリプティングとしても知られている)を使うウェブサイトを、出来るだけ簡単に構築するためのオープン・ソースのツールです。ブラウザを更新することなく、ウェブページJavaScriptからPHPPerlPython関数を、Sajaxによって簡単に呼び出せます。あなたの作業の99%をツールキットが行なってくれるわけですから、これを使わない理由はありません。


  • 長所
    • 多くの一般的なウェブ開発言語をサポートしています。

  • 短所
    • AJAX(XMLHttpRequest)だけに限定されているようです。
    • バックエンドの言語と統合されており、JavaおよびJSPはサポートされていません。

Dojo (http://dojotoolkit.org/)


  • 概要:

Dojoは、UIツールキットを作成するオープンソースの取り組みです。DojoのUIツールキットにより、多くのウェブアプリケーション開発者が、簡単に現代のブラウザの豊かな能力を使用できるようになるでしょう。


  • 長所
    • 開発ロードマップは、ブラウザベースのアプリケーション開発に必要となるGUI要素、AJAXスタイルのサーバとの通信、視覚効果など広い範囲に及びます。
    • ビルドにAntを使用することから、コア開発者はJavaに馴染みがあるようです。

  • 短所
    • デモは簡単なDHTMLのスライドショーが一つだけです。私が見た限り、他に動作するコードはありませんでした。
    • ドキュメントはほとんどありません。
    • ブラウザの互換性は不明です。

DWR (http://www.getahead.ltd.uk/dwr/)


  • 概要:

DWR(Direct Web Remoting)はJavaのための簡単なAJAXです。DWRは、一般的に使用される関数を提供することで、インタラクティブ性の高いWebサイトで繰り返し現れるコードのほとんどを取り除き、開発時間とエラー発生率を減少させます。


  • 長所
    • Javaと良く統合されています。
    • たくさんのドキュメントがあります。
    • FF/Moz、IE5.5+、Safari/Konq、Operaなど多くのブラウザをサポートします。またActive-XがオフのIEでは、代替としてiframeが利用できます。
    • 多くのJavaオープンソースプロジェクトと統合されています。(Spring, Hibernate, JDOM, XOM, Dom4J)
    • デバッグに役立つテストページが自動的に作られます。

その他

Xajax (http://xajax.sourceforge.net/)


  • 概要

PHP中心。非常に新しい。

SACK (http://twilightuniverse.com/projects/sack/)


  • 概要

機能セットが限定されている。新しい。

*1:MochiKit makes JavaScript suck less.「suck」を「いやな仕事」と解釈しました。

*2IE 5.5 might work with a little prodding.「prodding」は「prod(突き刺す、刺激する)」の動名詞と解釈しました。これが「開発コミュニティを刺激すれば」という意味か、「少し修正すれば」という意味かがとれませんでした。

ponponponpon 2005/09/13 16:15 爆弾発言コメントありがとうございました。
早速 prototype.js でテストしましたが、
AJAX のレスポンスの XML ドキュメントにはアクセス出来ました。
prototype.js 自体にはAJAX のレスポンスの XML ドキュメントへのアクセス機能が無いから、
そこは自分で作れっていうことなんでしょうね。
アクセス出来ないと勘違いをしていました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

 |