
特集:アドビのAjaxフレームワーク「Spry」を使ってみよう
Ajaxフレームワーク「Spry」で作る「リンク集2.0」
田中 孝太郎
dotimpac.to
2006/6/21
| Spryフレームワークで「リンク集2.1」を作る |
- - PR -
まずサンプルを見てみよう。前ページのサンプルと比較して見てほしい。今回は、リストの種目をクリックするとリストが並べ替えられ、関連リンクをクリックすると、下の領域に関連リンクを表示するようにしてみた。これらもSpryの機能を利用して作られており、javascriptプログラミングはされていない。
| 画面2 リンク集2.1(WindowsIE6、Firefox1.0、Safari1.3.1で動作確認済) |
| ダイナミックリージョンの表示制御属性 |
ダイナミックリージョンは、前ページのサンプルのようにデータセットの内容をそのまま表示するだけでなく、データ内容で場合分けしたり、条件を満たすもののみを表示したりすることができる。また、表示後の操作でソートキーを変更したり、項目を絞り込んだりすることも可能だ。
上のサンプルでリストのソートを指定しているコードを見てみよう。
|
テーブルヘッダのonclickハンドラで、Spryデータセットのソートメソッドを呼んでいる。このように、データセットに用意されたデータ操作メソッドを使用することで、インタラクティブな機能を追加することが可能になる。また今回は使用していないが、以下のようなSpryの専用属性をタグに追加しておくことで、ダイナミックリージョンでのデータ表示を制御することができる。
・spry:if : 条件を満たす場合、そのタグを表示する
|
・spry:choose / spry:when / spry:default : 場合分けする
・spry:hover : 要素にマウスオーバーしたときの振る舞いを指定する
・spry:select : 要素をクリックして選択したときの振る舞いを指定する
| 詳細データを非同期ロードする |
「リンク集2.1」サンプルでは、各リンクについて関連リンクという詳細情報を表示するようにしているが、この詳細情報のデータは、リンク集のXMLファイルとは別のファイルになっており、表示する関連リンクが選択された時点で、非同期ロードを行い、新たに取得したデータセットを動的に表示する仕組みになっている。いわゆるAjax的な動作だ。今回のサンプルではデータ数がごく少ないためさほど恩恵はないが、データ量が多いならば、このように個別のデータを必要に応じてロードできる仕組みは表示や動作速度の向上につながるだろう。
Spryでのデータセット間の連携動作を解説していこう。まずヘッダ部のデータセット生成コードはこのようになっている。
|
2行目のデータセットが、今回のサンプルで増えたもので、こちらはデータセットに指定するXMLファイル名に、データセットdsLinksのsite要素のデータ「detail_url」がデータ参照で埋め込まれるようになっている。つまり、データセットdsLinsDetailの内容はdsLinksの選択行が変化するタイミングで自動的に読み込まれ更新されるわけだ。
|
リンク集の「関連」アンカーでは、onclickハンドラでdsLinksの選択行を変更する「setCurrentRow」メソッドを呼ぶことで、選択行を変更しており、この状態変化が通知され、データセットが再読み込みされ、詳細データのダイナミックリージョンが再表示される。
詳細データのダイナミックリージョンは次のように指定されている。
|
「spry:detailregion」というのが、詳細データのダイナミックリージョンの属性だ。「spry:region」とは、データセットの状態を検知して、変更があると表示を再構成する点が異なる。これにより、dsLinksの選択行変さらに伴うデータセットの変更が即座に表示に反映される。
| きたるべきバージョンアップ時にどんなことができるだろう |
今回は、簡単なサンプルを作りながら、Spryフレームワークの概要を解説した。Spryはまだまだ発展途上のフレームワークであり、実用的に使われていくのはこれから先のことになるかもしれない。しかし、プログラマーではなくWebデザイナーのためのフレームワークというポジションは、今後AjaxアプローチによるWebページがより普及するために必要なものであるはずだ。
発表後数週間でバージョンアップが公開されたことからも分かるように、おそらくこのSpryフレームワークもほかのAjaxライブラリと同様、今後目まぐるしいスピードで発展していくことだろう。いまのうちからフレームワークを試用してみて、どんなことができるか考えてみるのはどうだろうか。
| 3/3 |
| INDEX | ||
| AdobeのAjaxフレームワーク「Spry」を使ってみよう | ||
| Page1<Spryフレームワークを知ろう/Spry framework for Ajax/XMLデータとダイナミックリージョン> | ||
| Page2<Spryフレームワークをダウンロードする/Spryフレームワークで「リンク集2.0」を作る /XMLデータを用意する/HTMLにダイナミックリージョンを埋め込む> |
||
| Page3<Spryフレームワークで「リンク集2.1」を作る/ダイナミックリージョンの表示制御属性/詳細データを非同期ロードする/最後に> | ||
TechTargetジャパン
- 次のモバイルアプリはどのフレームワークで作る? (2012/5/24)
スマホアプリの開発を容易にするJavaScriptのフレームワークが続々と増えている。それぞれの良さや仕組み、何がどこまでできるのかを徹底解剖する - 「LESS&専用エディター」でCSSをシンプルに書こう (2012/5/23)
「LESS」はCSS初心者に向けた、シンプルなライブラリだ。「LESS」で、変数などのプログラミングの基礎的な考え方もCSSで学ぼう - 学校が世界一のデジタル環境になったら (2012/5/18)
授業はアーカイブに蓄積され、家からも見られる。家族が授業テーマのアイデアを出す。そんな姿が実現されるかもしれない - 1000万ドル調達も夢じゃないクラウドファウンディング (2012/5/15)
クラウドファンディングは、寄付型でも投資型でもない「購入型」が主流。商品を“開発する前に販売”して開発費用を集める逆転のシステムだ
|
|
