今回は、もう少し掘り下げて Spryの魅力を紹介していこう。
シンプルなファイル構成
JavaScript ライブラリは、Webページに組み込んで利用するため、その分だけWebページのサイズが大きくなってしまう。そのため、不必要な機能は組み込まなくて済むようにしたり、自分に必要な機能だけを選んでファイルを作れるようになっているものもある。しかし、ダウンロードするファイルが数十MBに及んでいることがあったり、機能を付け足す度にライブラリをダウンロードし直す必要があったりする。
Spryの場合、ダウンロードして解凍した状態では8MB弱。実際のライブラリファイル等は1MB程度でアップロードすることができる(図1)。また、「SpryEffects.js」「SpryHTMLDataSet.js」など、わかりやすい機能名でファイル名がつけられているため、必要な機能のファイルだけを的確に参照することができる。一つ一つのファイルは、100KB程度なので、参照してもほとんど気にならないサイズなのが魅力だ。
図1:ライブラリは1MB足らずと軽量
簡単な記述
Spryは、「デザイナのための」と銘打つだけあって、非常に簡単な記述でスクリプトを作ることができる。JavaScriptはほとんど使わずに、できるだけHTMLの拡張属性や独自の記述でまかなおうという努力が見える。
例えば、<div>要素をフェードインで表示させたい場合、他のライブラリではオブジェクトを作って、そのプロパティに何かを設定して…といった、複雑な工程を経るものも少なくない。しかし、Spryの場合は簡単に作ることができる。実際に以下のソーススクリプトをコピーすれば、動作させることができるので、実際に試してみてほしい。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>フェードアウトのサンプル</title>
<script type="text/javascript" src="includes/SpryEffects.js"></script>
<script type="text/javascript">
window.onload = function() {
document.getElementById('areaTarget').onclick = function() {
new Spry.Effect.DoFade('areaTarget', {duration: 500, from: '100%', to: 0});
}
}
</script>
</head>
<body>
<div id="areaTarget" style="background-color: #66CCFF; width: 100px; height: 100px; padding: 5px; font-size: 0.8em">クリックすると、このエリアがフェードインします</div>
</body>
</html>
これで、領域のフェードアウトの処理を作ることができた(図2)。上記の一文を見るだけで、スクリプトに慣れた人なら何をやっているかわかるはずだ。上記は「ID属性が"areaTarget"の<div>要素を、500ミリ秒の早さで、100%から 0(%)までフェードアウトする」という意味である。
図2:フェードアウト処理
また、「XMLを読み込んで、ページ内に表示する」という一見複雑そうなスクリプトについても、以下のようなスクリプトで実現することができる。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>XMLを読み込む</title>
<script src="includes/xpath.js" type="text/javascript"></script>
<script src="includes/SpryData.js" type="text/javascript"></script>
<script type="text/javascript">
var ds1 = new Spry.Data.XMLDataSet("data/scores.xml", "teams/team");
</script>
<style type="text/css">
table,
th,
td {
border: 1px solid #999999;
border-collapse: collapse;
}
th {
background-color: #CCCCCC;
}
.score {
text-align: right;
}
</style>
</head>
<body>
<div spry:region="ds1">
<table border="1" cellpadding="3" cellspacing="1" summary="golf score">
<tr>
<th>名前</th>
<th>1ラウンド</th>
<th>2ラウンド</th>
<th>3ラウンド</th>
<th>4ラウンド</th>
<th>5ラウンド</th>
</tr>
<tr spry:repeat="ds1">
<td>{name}</td>
<td class="score">{round1}</td>
<td class="score">{round2}</td>
<td class="score">{round3}</td>
<td class="score">{round4}</td>
<td class="score">{round5}</td>
</tr>
</table>
</div>
</body>
</html>
これだけで、XMLファイルを読み込んでテーブルに表示させることができる(図3)。驚くことに、JavaScriptのスクリプトは1行だけで済んでいる。スクリプトの代わりに利用しているのが、「spry:」から始まる拡張属性をHTMLタグに記述することだ。こうして、デザイナやマークアップエンジニア(HTMLコーダー)でも簡単にJavaScriptを使ったスクリプトを作ることができるというわけだ。
図3:XMLファイルを読み込んでHTMLテーブルとして表示
とはいえ、この辺りは賛否両論があり、デザインとスクリプトの分離という考えやスクリプトの応用性を考えると、必ずしも好ましい作り方とはいえない。このあたりは、好みの分かれるところといえるだろう。
関連情報
-
Web IDE AptanaのAdobe AIR対応を試す
AptanaはAptanaの提供するEclipseベースの統合開発環境。HTML/XML/CSS/JavaScriptなどの編集に対応し、FTPクライアントの機能も統合するなどWeb開発に特化している。本稿ではAptanaが提供する機能のうち、最近特に注目を集めているAbobe AIRに関する開発支援機能にフォーカスしたレビューをお届けしたい。 - アドビ、「Adobe Integrated Runtime」(AIR)のベータ版をリリース
- Webサイトデザインを省力化--CSSフレームワーク「Blueprint 0.5」
- Adobe Systems
- アドビ システムズ
「経営が知るべきバズワード」 の新着情報
-
「顧客が求めるのはネットワークだけではない」--シスコ、コラボレーションツール市場に本腰
シスコシステムズ合同会社は、同社のコラボレーション製品群に関する説明会を行った。米国で11月上旬に行ったカンファレンス... - OSSTech、OpenLDAPを製品パッケージ化--性能向上で商用版からの置き換え狙う
- 日立、製造業全般の統合製造管理システムに体系化--倉庫管理システム追加
- 2008年ビジネス分析ソフト市場、オラクルがシェアトップ:IDC調べ
- F5、Management Pack最新版発表--マイクロソフト仮想化技術の運用を最適化
- 経営が知るべきバズワード 一覧へ »
「魅力のAjaxライブラリAdobe Spry入門」 のバックナンバー
-
SpryとAIRもDreamweaverで楽々
今回はSpryをAdobe Integrated Runtime(AIR)で利用する方法を解説しよう。Adobe Dreamweaver CS3を利用していれば、拡張機能で簡単に作業することができる。 -
あのエフェクトがこんなに簡単に:魅力のAjaxライブラリAdobe Spry入門
-
まずは体感:魅力のAjaxライブラリAdobe Spry入門
- 魅力のAjaxライブラリAdobe Spry入門 一覧へ »
企画特集
-
マネジメントの「コラム」と「コネタ」
今日のキーパーソンは誰? -
―エン・ジャパン厳選求人☆毎週更新―
ハンゲームの社長が語る・人材とサービスの在り方 -
【最終警告】パンデミック対策特集
サービス品質を保証するためのリスクマネジメントとは -
グリー、3人のエンジニアが語る仕事への想い
連載第2話、元SIerに聞くリニューアルと開発の舞台裏 -
企業ITシステムの企画、構築、運用のイロハ
戦略的なITシステムのために、今考えるべきポイント -
大丈夫?あなたの会社のセキュリティ対策
中堅・中小企業のネットワーク・セキュリティを考える -
100万円で実現!中小企業の情報漏えい対策
中小企業の課題!?セキュリティ管理者不在でも大丈夫 -
高まるiSCSIストレージへの注目度
ストレージシステムの4つの課題とiSCSI導入のメリット -
電力に"ふた"をする独自の省エネ機能とは!?
動的に電力割り当ても可能なHPの最新鋭ブレードに迫る -
VMware OEMベンダー6社を独占インタビュー
IBM、HP、NEC、DELL、日立、富士通のVMwareの取り組み -
J-SOX法制定により内部統制の整備が急務に
重要性高まるActive Directoryの課題と対処法を公開中 -
容量制限によるメール消去は一切無し!
全てを保存するメールセキュリティSaaSが登場 -
急増するオンライン犯罪への解決策!
オンラインサービス保護ソリューション
ZDNet Japan イベント
- 開催日:2009年11月26日(木)
- イベント一覧へ»
-
7. ホットスポットと同時並列性分析について
この3分間のビデオは、Intel Parallel Studioの一部であり、アプリケー... -
8. Valarray
この5分間のビデオでは、Intelコンパイラの1次元Valarrayデータ構造に対...
新着企業動向
-
「市役所公用車のカーシェアリング化」〜市役所と市民のカーシェアリングを実現します〜
箕面市役所 -
ネット系のセミナーでは絶対に語られない!明日から使えるPR術。
コンテクスト -
【EMC Mail News】シスコ、EMC、VMwareの3社が新しい連合組織「Virtual Computing Environme...
EMCジャパン -
WisePointシリーズ
ファルコンシステムコンサルティング - 企業動向一覧へ»
