TOP
>
書籍連動
> ライブラリーを選ぶ
JPSpanを使ってAJAXをしよう!
第1回:AJAXを使用するメリット
著者:
Joshua Eichorn
2005/11/2
前のページ
1
2
3
ライブラリーを選ぶ
PHPの世界では、多くのツールが公開されています。毎週、新しいライブラリやツールキットが作成され、JavaScriptとPHPのやりとりを統合するものが現れています。データの送受信などは、すべてのライブラリがサポートしていますが、PHPのクラスメソッドをJavaScriptに直接マッピングしたり、ウィジェット構築のためのフレームワークを提供したりするものもあります。その中で、私はJPSpanを選択しました。他にも、表1に掲載したような、色々なオープンソースのライブラリーが存在します。
ライブラリ
URL
JPSpan
http://jpspan.sourceforge.net
CPAINT
http://cpaint.sourceforge.net/
Sajax
http://www.modernmethod.com/sajax/
Xajax
http://xajax.sourceforge.net/
Ajax AC
http://ajax.zervaas.com.au/
Toxic
http://www.dotvoid.com/view.php?id=40
Rico
http://openrico.org/home.page
Sarissa
http://sarissa.sourceforge.net/doc/
表1:オープンソースのライブラリー
私がJpSpanを選択したのには、色々な理由があります。一番の決め手になったのは、JpSpanは他のプロジェクトと比べても古い(2004年の11月に初版がリリースされています)ことでした。私がAJAXの研究を始めたときには、まだ他のプロジェクトは存在しませんでした。他にも、以下のような、JPSpanを使うメリットがあります。
JavaScriptとPHP側の両方で、オブジェクト指向インターフェースが提供される。
オブジェクト間でマッピングが行われる。PHPの配列がJavaScriptのオブジェクトになるなど、データ変換が良くできている。
同期、および非同期処理の両方をサポート。そのため、JavaScriptのコードをシンプルに書くことができる。
豊富なドキュメントがあるため、ものの数分で動作を確認できる。
JpSpanはクライアント・サーバー間の通信しか提供されません。そのため、ドラッグ・アンド・ドロップなどを実現するには、別のJavaScriptライブラリと組み合わせる必要があります。
あなた独自のフレームワークにライブラリを統合する場合は、プログラミングモデルをかみ合わせるのが難しいと感じるかも知れません。その場合は、ライブラリを独自に開発すると良いでしょう。そのためには、他のプロジェクトの強みを調査する時間が必要です。基本的なデータのシリアライズ処理とXMLHttpRequestのラッパーとしての役割は、すべてのライブラリに含まれています。
JPSpanを使った場合の流れ
JPSpanを使い始めて気がつくのは、アプリケーションの処理の流れが変化することでしょう。最も大きな違いは、はるかに多くのリクエストを処理することになることです。しかし、各処理で送信するデータは少なくなります。このことから、トラフィック量の多いサイトでJPSpanを使う場合には、事前にネットワークの検証をしたほうが良いことが分かります。
JPSpanを使った場合の一般的な処理の流れは、以下のようになります。
一般的なページの読み込み。PHPなどによりHTMLを生成する。
JavaScriptのイベントが発生する(onLoad、onClickなど)。
クライアントからPOSTデータを受信。JPSpanサーバーがPHPクラスのメソッドを呼び出す。
呼び出したメソッドからの結果を返却する。その際、JavaScript向けにシリアライズを行う。
受け取った結果をネイティブなJavaScriptデータに反映する(非同期の場合、コールバックメソッドに呼び出す。同期処理の場合、値を返却する)。
データを使ってDOMの操作をする。
表2:JPSpanを使った場合の処理の流れ
前のページ
1
2
3
著者プロフィール
Joshua Eichorn
Joshua Eichornは、PHPを使ったWebサイトを7年間制作してきました。彼は、非常に有名なPHPのドキュメーションツールであるphpDocumentorの制作者です。また彼は、アリゾナ州立大学のScience in Computer InformationSystems学部の学士号をとっています。
彼はUversa社のシニア設計者として、AJAXをUversa社のアプリケーションに追加する作業を行っています。現在、アリゾナ州フェニックスに住んでいます。
INDEX
第1回:AJAXを使用するメリット
イントロダクション
ユーザビリティ
ライブラリーを選ぶ