JavaでAjaxを使う時の考察

JavaでAjaxを利用する時には、色々な選択肢が考えられます。
どのような選択肢があるかについて考察してみました。

  1. 独自実装
    • XMLHttpRequest
  2. JavaScriptライブラリを利用
    • prototype.js
    • Yahoo! UI Library
    • jQuery…など
  3. 低レベル実装の利用
    • Ajax Tag Library
    • AjaxTags(Java Web Parts)
  4. 高レベル実装の利用
    • GWT(Google Web Toolkit)
    • JSF(Java Server Faces – AjaxFaces)

独自実装

独自実装は、外部のJavaScriptライブラリなどを使用せず、標準のJavaScriptの機能のみを使って実装します。
クロスブラウザ対応などが必要になってしまうため、一般向けのサイトでは難しいと思いますが、
「ブラウザ限定」「使用するライブラリが厳しい」「ちょっとした入力チェックだけ」といった要件であれば、十分に使えると思います。

JavaScriptライブラリ

JavaScriptライブラリを利用するというのは、今一番利用されているケースだと思います。
独自実装をするよりも、簡単に記述できるし、クロスブラウザ対応もなされています。独自実装を選ぶ前に、可能であればこちらの選択肢を検討すべきです。
欠点は、現状ではJavaScriptライブラリが乱立しすぎていて、どれを使用すべきが迷ってしまうことです。ほんの一部だけ列挙しましたが、現在のJavaScriptライブラリの乱立っぷりは、学習意欲がなくなりそうなほどです。

低レベル実装

3つ目の低レベル実装というのは、古くから実績のある技術で実装したケースを表現しています。
JavaScriptライブラリとの境界線が微妙ですが、今のところ考えられるのは、カスタムタグ(タグライブラリ)を使った実装です。
あまり隠蔽しすぎてしまうと、昔からHTMLを使って書いてきた人にとっては、かえって分かりにくいし、
だからといって、JavaScriptバリバリというのも、生産性が悪いので、「Ajaxを使用したパターンでありがちなものを、簡単に実装する」ぐらいの使い方がイイトコドリだと思います。
私は、このカテゴリの実装に注目しています

高レベル実装

最後の高レベル実装は、Webアプリケーションの最終形態と考えられます。
Webアプリケーションを意識させない、完全なコンポーネントで、Ajaxを実装してしまうパターンです。
まだ未成熟だと思いますし、Webで要求される外観がどうしてもHTML的でないので、まだ流行らないと思っています。
(HTMLでの○○は、どうやって実現するのか?と悩むことが多い)
また、なにか不具合があった場合に、中身まで調べるのが大変だと思います。

Ajaxを使う用途についても、検討すべきだと思います。
例えば、Ajaxを使ったありふれた、ユーザーインタフェースを実現する場合には、3.4.の方が便利だと思います。
オートコンプリートなどがそうで、これを独自実装や、JavaScriptライブラリで自力実装すると結構大変です。
よく使われるものについては、コンポーネント化が進んでいると思うので、それを利用した方が懸命です。
一方、JavaScriptでの入力チェックを拡張して、サーバーサイドでのチェックも実行されるようにする場合は、独自実装や、JavaScriptライブラリで十分かと思われます。
Ajaxという生の技術だけで十分な用途と、Ajaxを使ったUIパターンを使いたい用途では、選択肢は変わって来ます。

AjaxTagsを使った記事を書いてみました。

関連記事
AjaxTagsを使ってみる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)