検索
連載

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

第1回「Ajax技術の目に見えない通信内容をのぞいてみよう」ではAjaxの技術背景を、第2回「Ajaxの特徴に潜むリスクをサンプルアプリで確認しよう」ではAjaxのセキュリティリスクを見てきました。第3回の今回は、Ajaxの本格的な開発には欠かせないAjaxライブラリについて見ていきます。

PC用表示
Share
Tweet
LINE
Hatena

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

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

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

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

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

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

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

分類:JavaScript関数拡張

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

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

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

分類:画面効果

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

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

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

分類:GUI部品

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

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

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

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

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

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る