Ajax解体新書(3)

Webアプリに使えるAjaxライブラリ8選!


株式会社NTTデータ
技術開発本部 ソフトウェア工学推進センタ
川田 洋平
2006/11/22
 
 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部品

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

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

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

3/4

 INDEX

Webアプリに使えるAjaxライブラリ8選!
  Page1<Ajaxライブラリの全体像を把握しよう/どうして、Webアプリ開発にAjaxライブラリが必要なのか/150以上も出現しているAjaxライブラリ/8つのAjaxライブラリから全体を見ていこう>
  Page2<Ajaxライブラリを比較する>
Page3<Ajaxライブラリを機能で分類する>
  Page4<Ajaxライブラリを利用する際の注意点/標準化が進むAjaxライブラリ/プロジェクトに最適なAjaxライブラリは見つかりましたか?>

Googleからのサプライズ、Google Web Toolkit

JavaアプリをAjaxアプリに変換できる開発ツール、Google Web Toolkit。まずは、簡単なサンプルを動かしてみよう

最終更新 2006/8/26
Ajaxフレームワーク「Spry」で作る「リンク集2.0」
特集:AdobeのAjaxフレームワーク「Spry」を使ってみよう アドビのAjaxフレームワーク「Spry」。さっそく簡単なリンク集のサンプルを作成しながら、その機能を探ってみよう
リッチクライアント & 帳票」フォーラム 2006/6/21

 

 

 

古くて新しいAjaxの真実を見極める
「Webインターフェイスの新しい手法」「画期的なWebアプリケーションの仕組み」であるとして開発者たちの人気を集めるAjaxとは何なのか、その真実を見極めてみよう
最終更新 2005/8/2

 

 

 

Ajax うきうき Watch

Ajaxという流行技術の定義を明確にしながら、Ajaxの動向からうきうきするような面白いもの、確実に押さえておきたいものを厳選してお届けしていく

最終更新 2008/5/26

TechTargetジャパン

リッチクライアント & 帳票 フォーラム 新着記事
  • NFCやLTE対応予定のiPhoneと、先行するAndroid (2012/2/9)
    iPhoneとAndroid、そしてWindows Phoneという3つのOSの今後を占う。それぞれの通信規格とコンセプトは?
  • 家電のUIになるブラウザ (2012/2/3)
    未来の家電はインターネットに接続でき、ブラウザが内蔵されてくる。家電にブラウザが載ったらどうなるか? 未来のホームネットワークを想像しよう
  • 「汎用のUI技術」として広がるHTML5 (2012/2/2)
    すさまじい勢いで成長しているHTML5を中心としたオープンなWebプラットフォーム。HTML5やAPI、Webブラウザのアップデート情報をお伝えする
  • ビヨンド・クールジャパン!? (2012/1/27)
    コンテンツという文化力と、ものづくりという技術力を掛け合わせる。両方を国内に持ち合わせている国は多くない。チャンスなのだ

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH