ToolkitはオープンソースのJavaScriptライブラリの1つで、クロスブラウザに対応したJavaScript/Ajaxアプリケーションを迅速に開発するために設計されている。Licenseのデュアルライセンスで配布されている。Toolkitの企業採用を促進するために設立された非営利組織である。外部リンク機能[編集]豊富な標準機能とUIパーツ(Dojoウィジェット)[編集]Dojoを利用することで、ブラウザのJavaScript実装の違いを吸収する他、Ajaxアプリケーションの作成やJavaScriptのコーディングを手助けする様々な標準APIが利用可能となる。Ajaxアプリケーションではページ遷移による画面状態を失わなせないため、ブラウザの履歴に状態を保持する必要があるが、この機能はDojoではdojo.backという名称で提供されている。Dojoは標準で様々なUIパーツを提供しており、ほとんどのUIパーツはプラグインなどを導入せずとも利用可能である。これらはDojoウィジェット、もしくは単にウィジェットと呼ばれる。Dojoウィジェットは、JavaScript、HTMLマークアップ、およびCSSを包括したコンポーネントであり、例えば以下のようなものがある。Reference[1]を参照のこと。DojoのデモがDojo公式サイトで公開されているので、合わせて参照されたい[2]。テーマ[編集]Dojoウィジェットの見た目は、テーマによって規定されており、デフォルトでは、以下の4種類のテーマを利用することが可能である。(1.5から)これらテーマは自作することも可能である。アクセシビリティへの配慮[編集]Dojoが提供するデフォルトのウィジェットはアクセシビリティに配慮されており、ほとんど全てのウィジェットがキーボードのみでも操作可能になっている。デフォルトのテーマは色覚異常の人にも見やすいカラーリングとなるように配慮されている。(dojo.i18n)。Dojoが提供するデフォルトのウィジェットは最初から国際化対応されているものがほとんどで、ブラウザーの言語設定によって、UIパーツが自動的にローカライズされた見た目に変化する。非同期通信[編集]Dojoは、様々なブラウザでのXMLHttpRequestの実装の差異を吸収した、ラッパークラスを提供する(dojo.xhr)。これらを利用することによって、ページリロードなしでの情報のやり取り、およびページの見た目を変更することが可能である。パッケージシステム[編集]Dojoは、モジュールの開発、利用を容易にするためのパッケージシステムを提供している。この初期セットアップが完了すると、dojo.jsによって提供される関数(dojo.require)によってXMLHttpRequestが送信され、個々のDojoパッケージが読み込まれる。Dojoのパッケージからは、他のパッケージへの依存性を指定することも可能である。そのパッケージが読み込まれると、依存性が指定された他のパッケージも読み込まれる。このパッケージの依存性解決には順序性を保障する必要があるため、同期的なHTTP通信が行われる。このため、パッケージを多く読み込むページでは、初期ロードに非常に時間がかかってしまい、またキャッシュが有効に機能しなくなってしまう(ほとんどのWebブラウザは、XMLHttpRequestを介して読み込まれたファイルをキャッシュしない)ため、Dojoでは以下で説明するカスタムビルドの機能を提供している。カスタムビルド[編集]Dojoでは、最小限のパッケージを含むカスタマイズされたビルドを生成する、カスタムビルドの機能を提供している。この仕組みは、Dojoが標準で豊富な機能を提供するため、ファイルサイズやファイル数が肥大化してしまっていることを解決するだけでなく、パッケージシステムによるdojo.requireの同期通信をなくし、さらにクロスドメインでのスクリプト読み込みへの解決策を提供する。カスタムビルドでは、プロファイルと呼ばれるパッケージのリストをインプットとして受け取る。ビルドを行うと、依存性を持ったパッケージが全て含まれ、更にRhinoを利用して圧縮された、1つのJavaScriptファイルを生成する。Toolkit(完全版)と同じ場所からダウンロードすることができる。Campusの該当ページ[3]を参照のこと。dojox.data.*)。検索機能を提供する、最も基本となる読み取り専用のデータストア。データの追加や削除機能を持つ、読み書き可能なデータストア。カンマ区切りの表形式のデータを読み取る、読み取り専用のデータストア。OPMLフォーマットの階層構造のデータを読み取る、読み取り専用のデータストア。Searchの検索結果を取得する、読み取り専用のデータストア。del.icio.usのブックマークを取得する、読み取り専用のデータストア。server)とやり取りを行う、読み書き可能なデータストア。CouchDBRestStoreなど、様々なWeb上のサービスと連携するためのデータストアが提供されている。Reference[1]を参照のこと。AIRアプリケーションにおいて、Dojoを利用することが可能である。DojoはAIRのセキュリティ要件を満たすように変更されている。AIRアプリケーションを作成している。これは、APIビューワやDojoのビルドシステムのGUIが含まれている。通常、ビルドシステムはRhinoを通して実行されるが、このAIRアプリケーションではJavaを利用することなく、AIRからビルドシステムを実行している[4]。Dojoでの開発[編集]Dojoでの開発は、任意の適切なエディタを使用して行うことができる。Comodo等の例がある。NetBeansとEclipseは、フリーソフトウェアであり、AptanaとComodoはコミュニティバージョンが存在する。Dojoのプラグインは様々なIDEで利用可能である。Dojoを使用したWYSIWYGの開発では、オープンソースのWaveMakerを使用することができる。Foundationとスポンサー[編集]IBMとサン・マイクロシステムズは、Dojoのコードへの寄与を含めた、公式サポートをアナウンスしている[5][6]。Frameworkへ組み込むことをアナウンスしている[7]。Foundationは501(c)(6)に属する非営利団体で、オープンソースプロジェクトを支援するために設立された。その主な目標は、企業による採用の支援と、コラボレーションのための、その他のプロジェクトの奨励である。スポンサーとメンバーは以下の通り。Toolkitに組み込まれている。2007年2月3日閲覧。2007年2月3日閲覧。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。Cookieに関する声明モバイルビュ。