連載を始めるにあたって
Dojo Toolkitのバージョン1.0が正式リリースされたのは、2007年11月のことだ。現在、執筆している時点でのバージョンは1.0.2である。Prototype.jsやjQueryなど、現在人気のフレームワークが「コードを短く記述できる」事を主眼のひとつとしているのに対し、カバーしている範囲が非常に広いことと、一貫した設計に基づいたライブラリが魅力のJavaScriptフレームワーク、それがDojoだ。
今回は、Dojo Toolkitの解説という形で連載を行うにあたってのイントロダクションとして、どのような読者を対象とし、どうお役に立てるか、という点を明らかにしていきたいと思う。
これまでマイコミジャーナルでは2回にわたって特集を行い、Dojoの魅力と利用方法についてお伝えしようとした。
- 第1回 基礎知識編…Dojoプログラミングの基礎となるAPIについて解説
- 第2回 Dijit編…Dijit(UIウィジェット)プログラミングの基礎となるAPIや知識について解説
しかしDojoは、JavaScript言語の補完的な機能から、アニメーションやWeb APIのマッシュアップに至るまで、ありとあらゆる機能を取りそろえたフル機能のフレームワークである。その規模と範囲だけを見たら、Java SEの標準ライブラリと比較してもいいくらいではないか、と思えるほどだ。
つまり、たった2回の特集では紹介しきれなかったことが山ほどあるのだ。
Dojoのドキュメントとしては、公式サイトに「Dojo Book」と呼ばれる素晴らしいリファレンスが存在するが、残念ながら英語であるうえ、少し詳細に書かれすぎてとっかかりづらい感もある。
というわけで、連載という形式をとってDojoの知識をわかりやすくお伝えしていこう、というのが本連載の趣旨である。本連載では、Dojoのあらゆる機能を対象として、その機能を使うために必要最小限と思える知識を紹介していく。これにより、以下のような形で読者の皆さんに対してお役に立てる記事にしていきたい。
- 読者がDojoの各機能を使い始める際のガイドとなる
- 最小限の情報がコンパクトにまとまったリファレンスとして、何度も参照するに耐えるリソースとなる
連載の流れ
では、当連載全体の流れをご紹介していきたい。
読者の皆さんがDojo Toolkitを使う最大の理由は、おそらくDijit(リッチなUIウィジェットフレームワーク)にあるのではないかと考えている。何しろ、Dijitを使えば、デスクトップアプリにすら見劣りしないAjaxアプリケーションをいとも簡単に作成することができるのだ。そのため本連載でも、Dojoを始めるのに必要最低限の知識を学んだら、すぐにDijitについての詳しい解説を行っていきたいと考えている。
Dijitについての説明が一通り終わったら、特集では説明を見送ったような細かい部分や高度な機能を解説したい。これは主に、Dojoxパッケージについての紹介になるだろう。
これまで掲載した2回の特集で紹介した内容と、重なる部分も生じるだろう。そうしたときは読みやすさを最優先にして、適宜引用や再説明を行っていきたい。
連載全体の構成
- Dojoの導入・基礎知識
- Dijitプログラミングを開始するための準備
- Dijit (UIウィジェット) の使用例/簡易リファレンス
- 基本的なトピック
- 入力フォームに関するもの
- レイアウトに関するもの
- ダイアログメニュー
- その他
- dijit.ColorPalette
- dijit.Editor
- dijit.ProgressBar
- dijit.Tree
- dijit.InlineEditBox
- ...
- 高度なトピック
- dojox.widget
- dojox.charting
- dojox.grid
- dojox.image
- dojox.layout
- dojox.presentation
- ...
- 基本的なトピック
- Dojoが提供する各種ツール
- テストツール
- ドキュメント生成ツール
- JavaScriptソース圧縮ツール
- ドラッグ&ドロップ
- 通信
- 基本的なトピック
- dojo.io
- dojo.rpc
- 高度なトピック
- dojox.io
- dojox.rpc
- dojox._cometd
- 基本的なトピック
- グラフィック・アニメーション
- Dojoxに含まれる各種ライブラリ
- 基本的なもの
- dojox.collections
- dojox.data
- dojox.color
- dojox.crypto
- dojox.date
- dojox.dtl
- dojox.encoding
- dojox.lang
- dojox.math
- dojox.string
- dojox.timing
- dojox.uuid
- dojox.validate
- ...
- オフライン
- dojox.storage
- dojox.off
- dojox._sql
- その他
- dojox.flash
- dojox.wire
- dojox.xml
- 基本的なもの
また、Dojoのフレームワークは非常に良く洗練されているため、Dojoをベースにしたさらに進んだライブラリなども登場する可能性がある。そうした最新情報についても、適宜お伝えしていければ良いと思う。
では、少々長い連載になりそうではあるが、興味のある読者の方々には、ぜひお付き合いいただきたい。