【2/17】今年は「濃厚」技術トーク!@ITメールセミナー スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷

特集:AdobeのAjaxフレームワーク「Spry」を使ってみよう

Ajaxフレームワーク「Spry」で作る「リンク集2.0」


田中 孝太郎
dotimpac.to
2006/6/21
アドビのAjaxフレームワーク「Spry」。さっそくダウンロードして、簡単なサンプルを作成しながら、その機能を探ってみよう(編集部)

 Spryフレームワークを知ろう

 先月5月11日、米アドビシステムズが発表したAjaxフレームワーク「Spry」は、最低限のプログラミングでAjaxスタイルのWebページ構築を可能にする、Webデザインフレームワークだ。今回は数あるJavaScriptライブラリの中でもユニークなフレームワークであるSpryを紹介し、実際にSpryを使ったサンプルを解説しながらその機能を探っていきたい。

Spry framework for Ajax

- PR -
  Ajaxが騒がれた昨年から今年にかけて、Ajaxアプリケーション開発のためのJavaScriptライブラリ、フレームワーク、開発環境などの開発が盛んだ。多くのオープンソースコミュニティがライブラリやフレームワークを公開しており、「Prototype」や「script.aculo.us」といったライブラリはすでにメジャーな位置を占めて多くのアプリケーションで採用されている。

 また、いくつかの企業では自サービスのために開発したライブラリやツールキットの無償公開を開始した。米Yahooが提供、サポートを行っている「Yahoo UI Library」などが有名だろう。米Googleも、アプローチは違うもののJavaScriptを用いたAjaxアプリケーションの開発ツールキットである「Google Web Toolkit(参照記事:JavaをAjaxに変換するグーグルのGWTを使ってみよう)」を5月に公開している。

 米Adobe Systemsが提供を開始したAjaxフレームワーク「Spry framework for Ajax」も、大きな流れとなりつつあるインタラクティブなWebサイトデザインに対応するために開発された、Webデザインフレームワークだ。Webデザインソフト「Dreamweaver」などを開発するAdobe Systemsが提供するだけあり、SpryはプログラマーではなくWebデザイナーが使用することを想定しており、基本的にはHTMLを加工するだけで、動的な表示の更新やインタラクティブな機能を実現できるようになっている。

 将来的にはDreamweaverやPhotoshop、 ImageReadyなどのAdobeソフトに組み込まれ、Webデザインの一部として使用されていくのだろうと考えられるが、現在公開されているものはプレビュー版であり、最低限のライブラリが提供されているにすぎない。しかし、SpryにはほかのJavaScriptライブラリやフレームワークには見られないユニークな仕組みを備え、XMLファイルを用意するだけで動的に更新されるWebページを作ることができる。そこで今回は、Spryフレームワークの概要を解説し、リリース1のSDKを実際に使って、サンプルを開発してみたい。

 XMLデータとダイナミックリージョン

  Spryフレームワークが想定しているのは、同じ形式のデータアイテムを逐次読み込み、それを場合に応じて表示、操作できるようなダイナミックなWebページだ。Ajaxフレームワークだからといってどんなページでも簡単に作れるというわけではなく、データのリスティングや、その動的な切り替えなどに特化したものであることにまず注意しよう。このような性質のページを動的に管理するために、Spryでは「Spryデータセット」と「ダイナミックリージョン」という考え方が導入されている。

 Spryデータセットとは、SpryのライブラリがXML形式で書かれたデータファイルを読み込んで生成するJavaScriptのオブジェクトのことだ。このデータセットの内容を後述するダイナミックリージョンに表示するというのが、Spryを使ったWebページの基本的な動作である。読み込むXMLは、表示するデータのために用意しても、あるいはRSSのような他サービスから生成されたものでも構わない(ただし通常のJavaScriptと同様にドメインの制約があるため、別ドメインのサーバから直接データを読み込むことはできない)。

 ダイナミックリージョンは、SpryデータセットをJavaScriptで動的に表示するためのテンプレートだと思ってもらえばよいだろう。Spryでは、特殊な属性を持ったHTMLタグそのものがSpryの表示テンプレートとなり、ページがロードされSpryデータセットが生成された後、このダイナミックリージョン部が変換されてデータが表示されるわけだ。

 このデータセットとダイナミックリージョンの連携によって、Spryフレームワークによる動的なページ表示が行われる。データセットはデータの変更や状態の変化を監視しており、変化に応じてダイナミックリージョンのデータ表示を再更新することができる。このような動的な表示の変化を、JavaScriptの記述をほとんどしないまま実現できるところがSpryフレームワークの真価だろう。

図1 SprayフレームワークがXMLとHTMLをダイナミックなAjaxページを生成させる

 以上がSpryの概略だが、概念の説明だけでは分かりづらい部分もあるので、次のページでは実際にSpryを使ったサンプルを見ながら、Spryがどのように動いているのか確かめていこう。

1/3

 INDEX
AdobeのAjaxフレームワーク「Spry」を使ってみよう
Page1<Spryフレームワークを知ろう/Spry framework for Ajax/XMLデータとダイナミックリージョン>
  Page2<Spryフレームワークをダウンロードする/Spryフレームワークで「リンク集2.0」を作る
/XMLデータを用意する/HTMLにダイナミックリージョンを埋め込む>
  Page3<Spryフレームワークで「リンク集2.1」を作る/ダイナミックリージョンの表示制御属性/詳細データを非同期ロードする/最後に>

ホワイトペーパーTechTargetジャパン

リッチクライアント & 帳票 フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  企業の仮想化に足りない“発想”とは?
仮想化運用管理のキモは意外なところに!

New!
  操作もマニュアルも分かりやすい!
ユーザー視点で開発されたPC管理ツール

New!
  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  セキュリティを知り尽くす上野氏が登壇!
@ITメールソリューションLive! in Tokyo

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  世界に通用するストレージの作り方とは?
製品に込めた思いを富士通の開発者に聞く

  OSSで手間も時間も、障害も減った――
「マピオンの事例」オープンソース活用法

  「ノートPCの持ち出し禁止」で大丈夫?
情報漏えいを防ぐ管理手法とインフラは?

  1日の処理を1秒に――MySQLの達人が語る
「コスト削減」できるチューニング

  ドキュメント作成を自動化して、SEの作業
効率を大幅アップ! Visio 2007の魅力

  急速に広がるHyper-Vでのサーバ仮想化
そのベストプラクティスをデルが解説

  @IT主催セミナーで語られた、「担当者に
求められるセキュリティ対策」をレポート

  @IT「Windows 7」 特設サイトオープン!
最新情報・移行ノウハウを公開しています