Dojo Toolkit
Dojo Toolkitは、クロスブラウザ環境での
JavaScript/Ajaxアプリケーション開発を効率化するために設計された、強力なオープンソースの
JavaScript
ライブラリです。2004年にAlex Russell、Dylan Schiemann、David Schontzlerらによって開発が始まり、現在は
BSD[[ライセンス]]とAcademic Free Licenseのデュアル
ライセンスの下で公開されています。
特徴
豊富な標準機能とUIコンポーネント: Dojoは、開発者がすぐに利用できる多様なUIウィジェット(メニュー、タブ、ダイアログ、動的グラフなど)を提供します。これらのウィジェットは、JavaScript、HTML、CSSを組み合わせたもので、カスタマイズも容易です。
クロスブラウザ対応: ブラウザ間の
JavaScript実装の違いを吸収し、開発者はプラットフォームに依存しないコードを書くことができます。
Ajaxアプリケーションのサポート: ページ遷移なしにサーバーと通信し、動的なコンテンツを更新するためのAPIを提供します。
アクセシビリティ: 標準ウィジェットはアクセシビリティに配慮して設計されており、キーボード操作をサポートし、色覚多様性に対応したテーマを提供しています。
国際化: 多言語対応のための機能が組み込まれており、ブラウザの言語設定に基づいてUIが自動的にローカライズされます。
非同期通信: XMLHttpRequestの差異を吸収するラッパークラス(`dojo.xhr`)を提供し、様々なトランスポートやデータフォーマットをサポートします。
パッケージシステム: モジュールの開発と利用を容易にするためのパッケージシステムを提供します。`dojo.js`を読み込むことで、名前空間がセットアップされ、`dojo.require`関数で必要なパッケージを読み込むことができます。
カスタムビルド
Dojoは豊富な機能を提供する一方で、ファイルサイズが大きくなる傾向があります。そのため、Dojoではカスタムビルドの機能を提供しており、必要なパッケージのみを含む最小限のビルドを作成できます。これにより、初期ロード時間の短縮やキャッシュの有効活用が可能になります。
カスタムビルドでは、プロファイルと呼ばれるパッケージのリストを入力として受け取り、依存関係を解決し、Rhinoを使って圧縮された単一のJavaScriptファイルを生成します。
データストア
Dojoは、データの読み書きを抽象化するデータストアを提供し、サーバーサイドとの連携を容易にします。様々なデータストアが提供されており、用途に応じて選択できます。
ItemFileReadStore: 読み取り専用の基本的なデータストアで、検索機能を提供します。
ItemFileWriteStore: データの追加や削除が可能な、読み書き可能なデータストアです。
CsvStore: カンマ区切りのCSVデータを読み取るためのデータストアです。
その他: `OpmlStore`, `YahooStore`, `DeliciousStore`, `RdfStore`など、様々なWebサービスと連携するためのデータストアが提供されています。
Dojoは、JavaScriptベースのAdobe AIRアプリケーションでも利用可能です。DojoはAIRのセキュリティ要件を満たすように変更されており、AIRアプリケーション内での利用をサポートします。
開発環境
Dojoでの開発には、任意のテキストエディタやIDEを使用できます。NetBeans、Eclipse、Aptana、ActiveState Comodoなどが利用可能です。また、Dojoのプラグインは様々なIDEで利用できます。
Dojo Foundation
Dojo Toolkitは、Dojo Foundationによって支援されています。Dojo Foundationは、Dojo Toolkitの企業採用を促進するために設立された非営利組織であり、IBM、サン・マイクロシステムズなどの企業がスポンサーとして参加しています。
関連情報
Dojo公式サイト: http://dojotoolkit.org/
*
Dojo Foundation: Dojo Foundation
Dojo Toolkitは、Webアプリケーション開発を強力にサポートする、多機能で柔軟な
ライブラリです。