|
3つのタイプからAjaxフレームワークを比較する! 「第2回:Javascriptを記述せずにリッチなUIを実現する!」まででAjax4JSFとRichFacesの実際の利用方法について取り上げました。 JavaベースのAjaxフレームワークは「Ajax4JSF+RichFaces」以外にも数多く存在します。そこで最終回の今回は他のAjaxフレームワークについて紹介し、それぞれの利点や欠点、使いどころについて比較をしていきます。 ここではAjaxフレームワークを「Ajax呼び出し専門系」「既存Ajaxツールキットのラッパー系」「JSF拡張系」の3つのタイプに分けて解説します。 タイプ1:Ajax呼び出し専門系「DWR」「Seam Remoting」 Ajax呼び出し専門系の代表的なフレームワークには、 特徴 DWR(Direct Web Remoting)やSeam Remoting(JBoss Seamフレームワークの一部)は、Javaクラスにアノテーションを付与することによって、そのクラスを呼び出すためのJavascriptを自動生成してくれます。 これによりサーバ側では画面へ返却するためのXMLやJSONを作成する必要がなくなります。また、画面側ではXmlHttpRequestなどを直接扱わなくてもJavascriptの関数を呼び出すだけで利用できます。 リスト1:DWRを利用したJavaクラス(一部省略)
@RemoteProxy
リスト2:DWRの呼び出し
<script type="text/javascript"
利点:カスタマイズ性が高く、他のAjaxツールキットと併用できる フレームワークによって自動生成されたJavascriptを読み込む以外には画面側に制約がないため、既存のAjaxツールキットと自由に併用することができます。またカスタムタグなどを使う必要も無いので、JSPだけでなく通常のHTMLからでも利用できます。シンプルで余計な機能を提供しない分だけ、幅広く連携することが出来る点が最大の利点です。 欠点:Javascriptの知識が必要 DWRやSeam Remotingなどがカバーする範囲は、基本的に「サーバのビジネスロジックを呼び出して戻り値を受け取る」までです。その値を画面側でどのように利用するかはについては、Javascriptでそのロジックを記述しなければなりません。 また、リッチなUIコンポーネントなども用意されていませんので、操作性の高い画面を実現するには他のツールキットと併用する必要があり、別途そのツールキットの知識も必要となります。Javascriptに長けた人材が居ない場合は、ここが欠点となるでしょう。 使いどころ 良くも悪くもJavaで作成されたビジネスロジックをJavascriptで呼び出すことに注力し、画面周りの主役はJavascriptに任せているのがこの手のフレームワークです。 プロジェクトチーム内にJavascriptに長けたエンジニアが居る場合や、画面とビジネスロジックの分業をはっきりしたい場合、画面まわりの実装をJava以外で行いたいといった場合などに導入すれば、高い生産性を発揮できるでしょう。 |
||||||||||
|
1 2 3 次のページ |
||||||||||
|
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||

