Dojo + Rails で"Hello World".

Flickrtwitterなどでwidgetが公開されていますが、自分のアプリでもそういうのをつかえるようにしてみたいと思いいろいろ探していたところJavascriptのライブラリーの一つであるDojoWidget(0.9 バージョンではDojo + Widget = Diljet だそうです)と呼ばれるライブラリーがあるのがわかりました。
Javascript ライブラリー/フレームワークといえばprototype.jsScript.aculo.us の方が人気(Ajaxian の調査より)ですが、Dojo のほうが多機能なようです。
ウノウラボの方がいろいろ遊んでいるのを見ると楽しそうなので私も試してみることにしました。

ネットを調べてみるとDojo関係の情報はまだ少ないようなので、少しずつでも試した分をブログにメモ代わりとして公開したいと思います。

ということでまずはお約束のHello World.

Dojo Hand Bookのページは読む分量が多くて小難しそうなのでDojoのwikiサイトにあるページからはじめて見ました。

必要なことはきわめてシンプルです。まずはRails関係ない場合

1. Dojo をダウンロードして以下に配置

- HelloWorldTutorial/
|
|---- js/
|
---- dojo/

2. HTMLを作成



<a class="keyword" href="http://d.hatena.ne.jp/keyword/Dojo">Dojo</a>: <a class="keyword" href="http://d.hatena.ne.jp/keyword/Hello%20World">Hello World</a>!






次にこれをRails上に移植してみました。

1. Dojo をダウンロードして配置

Rails の場合だとpublic/javascriptにprotoype.jsなどが配置してあるので、それにならって/public/javascript/dojoにおいてみました。

2. HTMLを作成

最初は適当にAction Viewに上のコードをそのまま貼付けようと思ったのですが、たぶんそのままだだとDojoのあるpathを認識しなかったので、googleでサーチするとDojo and Rails or better Dojo and the base relative pathに解決策が載っていました。djConfigというDojo環境変数にパスを指定してやれば良いようです。

以下が全文です。



<%= controller.action_name %>





とりあえずこれでうまく行くはずです。いろいろなサイトの例をてきとーに組み合わせて試してみたので、もっとスマートなやり方をご存知の方はコメント欄で教えていただけるとうれしいです。

一応Rails用のライブラリも探してみてrojoというプロジェクトを見つけたのですが、まだなにもファイルがアップされていない要です。他にもRails Engineとして提供しているDojo Toolbocksというのがあってちょこっと試してみたのですがまだ使いこなせていません。これもどなたかわかりやすく説明してあるブログとかご存知でしたら教えてください。

それまでは今回のように、Rails上にjavascriptべた書きの方法で試してみます。
次回はScaffoldで適当に作ったデータベースからデータを引っ張ってきてDojoを使って表示する方法を試してみるつもりです。