連載
» 2006年11月22日 00時00分 公開

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

[川田洋平,株式会社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.

RSSについて

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

メールマガジン登録

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