Ajaxライブラリ ~ 基本、種類、関連情報などのまとめ
Ajaxアプリケーションの開発に役立つAjaxライブラリの関連情報をまとめて紹介
Ajaxライブラリは、JavaScriptでAjaxアプリケーションを開発する際に用いるライブラリです。
Ajaxプログラミングでのデータの操作、画面のエフェクト、Webサーバとの通信などの高度な機能を簡単に実現でき、プログラミングの手間を省き、Webブラウザごとの命令や動作の違いを吸収し、バグの発生を減少させてくれます。
C言語やJava言語では標準的なライブラリや定番のフレームワークが存在しますが、Ajaxではさまざまなライブラリが登場し、それぞれ競って開発を進めています。
ここでは、Ajaxライブラリの総合的な情報を紹介します。
Ajaxライブラリを選ぶ
細かいものまで数えれば優に100を超える数のAjaxライブラリがあります。その中で、どのAjaxライブラリを選択すればいいのか、個別にAjaxライブラリのドキュメントを読んでいく以外に、参考になるまとまった情報は実はそれほど多くありません。
まずはシェアをみてみましょう。どのAjaxライブラリがよく使われているのか、AjaxのオンラインマガジンであるAjaxianの2008年の記事が伝えています。
記事によると、570人からの回答のうち最も人気が高かったのはjQueryで144票、わずか1票差でprototype.jsが続き、Script.aculo.usが127票、Yahoo! UI Libraryが99票、Ajax for ASP.NETが91票、Mootoolsが65票、Dojo、ExtJsと続いていました。
その最も人気のあるAjaxライブラリの1つ、jQueryの開発者であるJohn Resig氏が、オープンソースのAjaxライブラリとしてよく知られるprototype.js、jQuery、MooTools、Dojo、Yahoo! UI Libraryについて、それぞれの位置づけ、特徴などを解説したプレゼンテーションが2008年10月に公開されています。
このプレゼンテーションの中から、各Ajaxライブラリの特徴を3つずつ抜き書きしてみましょう。
prototype.jsの特徴
- Improving the usability of the JavaScript Language
- Big emphasis on adding in 'missing' JavaScript features
- Code quality is fantastic, great features
- All animations ( and interactions) are in Scriptaculous
jQueryの特徴
- Corporate backing(Microsoft,Nokia)
- Improving the interaction between JavaScript and HTML
- Highly-effective,short,code
Yahoo! UIの概要
- Attenmpt to standardize internal JavaScript
- Exposing, and solving,common methodologies
- Looking for common idioms(Drag-and-Drop,Calendar,Auto-complete)
Dojo Toolkitの特徴
- Large development community
- Corporate backing(IBM,AOL)
- Focus has transcended into widgets(Digit)
Mootoolsの特徴
- A spiritual fork of Prototype that included animations,drag and drop, etc.
- A clean classical structure
- A more holistic approach to development
マイコミジャーナルでもこの記事の内容を完結に伝えています。
Ajaxライブラリの仕組みと機能
Ajaxライブラリの役割や機能についての概要を紹介した記事です。
- [Think IT] 第2回:Ajaxライブラリの変遷 (1/3)
- Ajax framework - Wikipedia, the free encyclopedia (英語)
Ajaxフレームワークの利点、フレームワーク型、コンポーネント型、サーバドリブン型などの分類を紹介。
John Resig氏は一般的にAjaxライブラリがどのような問題を解決し、そのためにどのような実装を行っているのかといった技術的な詳細について情報発信しています。以下に2つ紹介しましょう。
米Yahoo!にて、AjaxライブラリによりDOMの機能をいかに拡張できるか、といったビデオセミナー(英語)
左のプレゼンテーションシートは2007年の資料ですが、jQueryの開発チームは25人以下のチームだと書いてあります。開発にあたってはAPIの直行性、API名称の一貫性などに配慮、さらにjQueryで実現されている機能などを解説しています。
右のビデオセミナーでは、Ajaxライブラリによって拡張されたAPIがどのような機能を提供しているのか、なぜライブラリが作られたのかを、ブラウザの互換性やDOMが抱えていた問題、それをどのように解決しているかなどが本人の口から語られています。
Ajaxライブラリのリスト
Ajaxライブラリにはどのようなものがあるのか、そのリストや特徴などを解説した記事を紹介しましょう。
- JavaScript Library Archive - to-R
JavaScriptライブラリをまとめたサイト。用途別に探すことができ、配布元、使用方法、ライセンスなどについて解説している - Ajax (JavaScript) Library List (Ajaxライブラリ一覧) - 古籏一浩
Ajaxライブラリをprototype系、jQuery系、MooTools系、コンパクト系、エフェクト系など特徴ごとに分類しリストアップしている。日本語で読めるリストとしては恐らく最も幅広く網羅しているリスト - Webアプリに使えるAjaxライブラリ8選! - @IT
2006年に執筆されたためやや古い情報ながら、Prototype.js、jQuery、MochiKit、script.aculo.us、Rialto javascript API、Rico、Dojo Toolkit、Yahoo! User Interface Libraryの8種類のライブラリを関数の機能や視覚効果などの切り口で詳しく比較している
- 80+ AJAX-Solutions For Professional Coding | Developer's Toolbox | Smashing Magazine (英語)
サジェッスチョン機能、タブ機能、オートコンプリート、ブルダウンメニュー、ファイルツリーなど、さまざまな機能を持つAjaxライブラリを、画面付きでタイトル通り80種類以上紹介した記事 - Ajaxian » Resources(英語)
Googleによる主要なAjaxライブラリの配布
Googleは、主要なAjaxライブラリの配布を独自に開始しています。これを利用すればGoogleサーバから配布を受けることができるので、自分のサーバにAjaxライブラリを置く必要がなくなり、サーバの負荷やネットワーク帯域の削減に役立ちます。
2009年3月時点でGoogleが配布しているAjaxライブラリ
- jQuery
- jQuery UI
- Prototype
- script.aculo.us
- MooTools
- Dojo
Ajaxおすすめ書籍
prototype.js、script.aculo.us、Rico、moofx、Lightboxなど14種類のAjaxライブラリの主要な命令を1冊のリファレンスにまとめたもの(目次)
デザイナー向けに、jQuery、Mootools、Spry、Y! UIなどのさまざまなAjaxライブラリを用いることで手軽に実現できる視覚効果の高いユーザーインターフェイスを80種ピックアップ。カラー画面とソースコード付き(目次)