Webアプリに使えるAjaxライブラリ8選!:Ajax解体新書(3)(3/4 ページ)

» 2006年11月22日 00時00分 公開
[川田洋平,株式会社NTTデータ]

Ajaxライブラリを機能で分類する 

 続いてAjaxライブラリの機能比較を行いますが、その前にAjaxライブラリが提供する機能を大きく3つの機能分類に分けたいと思います。

  • JavaScript関数拡張……開発効率を向上させるための、JavaScript関数を拡張した機能
  • 画面効果……画面上のオブジェクトに対して動的・視覚的な効果を与える機能
  • GUI部品……リッチなGUI部品を提供する機能

 上記機能分類に基づく各Ajaxライブラリの対応関係を表2に示します。

  Prototype jQuery MochiKit script
.aculo.
us
Rialto javascript API Rico Dojo Yahoo! User Interface Library
JavaScript関数拡張 ○ ○ ○     ○ ○ ○
画面効果   ○ ○ ○   ○ ○ ○
GUI部品       ○ ○ ○ ○ ○
表2 機能分類対応一覧

 Rico、Dojo、Yahoo! User Interface Libraryのようにすべての機能を提供しているライブラリもあれば、そのほかのライブラリのように特定の機能に特化しているものもあるのが分かります。

 以降では、機能分類ごとにもう少しブレークダウンした機能の比較を見ていきたいと思います。

分類:JavaScript関数拡張

 表3では、表2の「JavaScript関数拡張」に対応しているAjaxライブラリについて、より詳細な機能の比較を示します。

  Prototype jQuery MochiKit Rico Dojo Yahoo! User Interface Library
通信 ○ ○ ○ ○ ○ ○
DOM ○ ○ ○   ○ ○
イベント ○ ○ ○   ○ ○
基本関数拡張 ○ ○ ○   ○  
ロギング     ○   ○ ○
文字列 ○   ○   ○  
日付時刻     ○   ○  
色     ○ ○ ○  
2次元ベクタ         ○  
数学         ○  
暗号         ○  
バリデーション         ○  
国際化         ○  
プロファイラ         ○  
表3 JavaScript関数拡張

 当然かもしれませんが、Ajaxの主要な機能である通信/DOM/イベントの処理機能についてはすべてのAjaxライブラリがカバーしています(表中ではRicoはDOM/イベントに対応していませんが、表1の備考でも挙げたように別途Prototypeを利用するため、Prototypeの機能はそのままRicoで利用できます)。

分類:画面効果

 表4では、表2の「画面効果」に対応しているAjaxライブラリについて、「エフェクト」と「ドラッグ&ドロップ」についての比較を示します。

  jQuery MochiKit script.aculo.us Rico Dojo Yahoo! User Interface Library
エフェクト ○ ○ ○ ○ ○ ○
ドラッグ&ドロップ × × ○ ○ ○ ○
表4 画面効果

 MochiKitのドラッグ&ドロップ機能についてはバージョン1.4よりscript.aculo.usの機能を利用しています。

分類:GUI部品

 表5では、表2の「GUI部品」に対応しているAjaxライブラリについて、より詳細なGUI部品の比較を示します。

  script.aculo.us Rialto Rico Dojo Yahoo! User Interface Library
ウィンドウ   ○   ○ ○
ダイアログボックス   ○   ○ ○
ウィザード       ○  
ログウィンドウ       ○ ○
スプリッタ   ○   ○  
タブ   ○   ○  
メニュー   ○   ○ ○
ツールバー   ○   ○  
アコーディオンメニュー     ○ ○  
タスクバー       ○  
テキストボックス   ○   ○  
オンデマンドテキストボックス ○        
オートコンプリートテキストボックス ○       ○
テキストエリア   ○   ○  
WYSIWYGエディタ       ○  
ボタン   ○   ○  
ラジオボタン   ○   ○  
チェックボックス   ○   ○  
コンボボックス   ○   ○  
スライダ ○     ○ ○
スピナ       ○  
ツールチップ       ○ ○
プログレスバー       ○  
カレンダー   ○   ○ ○
カラーパレット       ○  
表   ○ ○ ○  
ツリー   ○   ○ ○
チャート       ○  
表5 GUI部品

 表5を見ると、限定的なGUI部品を提供するものと、デスクトップアプリ並みの画面が構築できるほどの豊富なGUI部品を提供するものに分かれているのが分かります。テキストボックスやボタンなどの基本的なGUI部品はHTMLで提供していますが、例えばRialtoのテキストボックスでは、テキストボックス内の値のgetter/setter、テキストボックスの編集可能/不可の切り替え関数といった、GUI部品に対する便利なAPIを用意しています。

 これまでAjaxライブラリの機能について比較してきましたが、Ajaxライブラリがどのような機能を提供するのかがある程度見えてきたのではないでしょうか。

 実際に自分でAjaxライブラリを利用する際は、今回取り上げてきた機能を考慮に入れて必要な機能などの要件を整理したうえで、その要件を満たすAjaxライブラリを表1から表5の比較表を参考に絞り込み、より詳細な機能要件についてはドキュメントやソースを適宜調べたうえで採用する、といったアプローチになると思います。

Copyright © ITmedia, Inc. All Rights Reserved.

アイティメディアからのお知らせ

スポンサーからのお知らせPR

注目のテーマ

ID・パスワードから始める「引き算」のセキュリティ〜ゼロトラスト狂騒曲の果てに
その「AIコーディング」は本当に必要か?
Microsoft & Windows最前線2026
4AI by @IT - AIを作り、動かし、守り、生かす
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。