業務で使っているdojoツールキットについてまとめていこうかと思う。
○dojo Toolkit
dojoはDojo Foundationの開発しているjavascriptフレームワークであり、
ajax等の非同期通信や、カレンダー表示などを通信なしで行えるリッチクライアントを提供する。
サーバーサイドjsフレームワークって感じがする。(別にajaxを使わなくてもウィジェット使うだけでもいいと思うけど。)
読み方はドージョーが正式かな。(現場ではあえてみんなドジョウと言っている笑)
○UIライブラリ
カレンダー、タブ、グリッド(表形式のかっこいいやつ。HTMLで言うところのテーブル・・・ともちょっと違うけどな)
とか割と質のいいUIが揃っている。
EclipseのパッケージエクスプローラみたいなファイルツリーのUIも実装できるよ!
あれ拡張したときは楽しかった。。。
○サポート
IBMとSun Microsystemsが公式にサポートすることをアナウンスしている。
(ていうか詳しくは、WikiPedia見てもらったほうが断然わかりやすいかも)
Zend社はDojoとの契約して、Zend Frameworkへとdojoを組み込むらしい。
なんだか、商用利用が多いらしいし、聞いた話によるとIBMのサイトもdojoで動いているんだとか。
○フレームワークの構成
dojoライブラリのパッケージは3つ。
・dojo
dojoフレームワークのコアの部分
・dijit
ウィジェットとか
・dojox
拡張部分。おそらくバージョンアップとともに増えていくんだろうな。
難点は、日本語ドキュメントや情報の少なさかな。
英語でも僕はあまり苦じゃないのだけれど、まぁ障壁はあるよね。
慣れてしまえばjavascriptが分かる人ならやりやすいのではないかと思う。
実際利用してみて、
dojoのコンポーネントを継承して拡張することも出来るし、
オブジェクト指向なフレームワークだと感じました。
Javaを書く人はそういったところで取っつきやすいはず。
例えば
クラスの宣言はdojo.provide("クラス名")
クラスの実装はdojo.declare("クラス名", function変数 )
クラスのインポートはdojo.require("クラス名")
継承は・・なんだっけな。inheritargumentsとか書いたらできる(忘れた!)
んでまあとは、基本的にjavascriptの要領でfunctionを作っていくという感じ。
dojo.queryとかすれば画面のHTMLエレメントの検索もできるし、
dojo.byId("ID名")でelementById相当のことが出来る。
あと、慣れてしまうと一番楽に感じたのは、
イベントリスナーの処理実装。
dojo.connect("obj", "onClick", function(evt){ console.log("myObject.method fired"); });
こんな感じ。
dojo.byId("ID名")でボタンなりなんなりの実体(例で言うobjね)
を捕まえてあとはonClickなりonFocusなり引数で指定するだけ。
○携帯端末にも対応
javascriptだしそりゃそうか。
○最後に
機会を見て、APIドキュメントの翻訳とか、
サンプルソースを載せたりだとかこのブログで出来ていければいいなと思っている。
とりあえずこのエントリでは紹介までに。
0 件のコメント:
コメントを投稿