入門はビデオプレーヤから
RIA の実現技術として登場した Silverlight™。いざ興味を持っても何から始めたらよいかは迷うところだ。エクスペリエンス アーキテクトとしてすでに多くの Silverlight™ コンテンツ作成経験を持つセカンドファクトリーの東 賢氏は「簡単にポテンシャルを理解するには、ビデオプレーヤ作りが最適」と指南する。Silverlight™ 版ビデオプレーヤ作り、実は「Expression Blend™」を使わなくてもできてしまうという。
「Expression® Studio」に含まれている「Expression® Encoder」でビデオを WMV にエンコードし、スキンを選ぶだけ。再生や停止といったビデオのコントロール機能を1から実装しなくても良いので簡単だ。 「最速の Silverlight™ 作成術」 (東氏) だが、クライアントから依頼を受けてプレーヤを作る場合、スキンのカスタマイズは必要だ。そのときはスキンを構成する XAML を Expression Blend™ で開き、カスタマイズすればよいという。
セカンドファクトリーでは BJTV (バスケットボール ジャパン TV) のデモンストレーション用アプリケーション作りを同様の手順で経験済みだ。コンテンツは実質 5 日で実装が完了したという。デモといえども非常に短期間だ。ロジックの部分は JavaScript で実装している。東氏は「既存の技術者が多く、技術情報も豊富な JavaScript がロジックの構築に利用できる点も開発しやすい理由だ。」と語る。Silverlight™ は Internet Explorer 7 と 6、Firefox 2.1、Safari の 4 ブラウザの JavaScript エンジンに対応している。

同事例は試合のビデオを再生するプレーヤと、選手の位置を示すアニメーションを並べた RIA である。ビデオとアニメーションは一部同期する仕組みとなっており、選手プロフィールも確認できる。
しかしセカンドファクトリーが Silverlight™ に注目する理由は開発の利便性だけではない。Web コンテンツならキャンペーンが終了した時、情報が古くなった時、仮に機能しなくなっても大きな問題にはならない。一方 RIA は「継続的に目的を達成し続ける性能が求められる」 (東氏) アプリケーションだ。性能とはロジック部分の安定性のことでもあり、UI デザインのことでもある。「オンライン バンキングなどにありがちな状態だが、ロジックには変更が加えられていても、一向に UI の改善がなされないことがある。ロジックと UI デザインの実装方法が分かれていないことが原因だ。これでは本当の意味でのメンテナンスはできない。 Silverlight™ は安定したロジックを C# などの言語で構築しながら、画面デザインは JavaScript や XAML といった言語ベースのデータで用意し、そこに画像ファイルや、さらに XAML などのアセット (素材) を加えるといった作り方ができる。継続性のあるロジックはそのままで、デザイン戦略の方向性や流行の変化に応じた UI 、画面デザインを適用させられるのは強みだ。」と述べる。さらに今後 RIA の開発は通常の Web サイト制作に比べ規模が大きくなることが予想される。少人数のプロダクションが単体で対応することは難しく、できるだけ多くの人手は不可欠だ。 C# や JavaScript といった経験者の多い言語を開発に利用できる面は人材確保のしやすさ、制作マネジメントの円滑化にもつながるだろう。
着せ替え可能なアプリを提供
もう1つの事例、株式会社 USEN が運営する無料動画配信サービス GyaO の「新着 STATION」 (当サイト 【Gallery】 の Silverlight™ ページ参照) ではこの長所を生かした。画面左のマウスで触れると拡大する動画のサムネイル群配置箇所が Silverlight™ だ。このサムネイル群の下に現在「ライラの冒険」という映画を紹介するバナーがある。バナークリックでトレーラ再生画面を呼び出す仕組みだ。この部分もすべて Silverlight™ だが、映画ポスタのビジュアルを採用した背景部分や、ビデオプレーヤのデザインなどはすべて差し替えが可能な状態に保たれているという。「プロモーション期間が終わっても、ビジュアルやビデオを必要に応じて変えれば長く有効に使える。」 (東氏) と、アプリケーションが管理者の都合によって柔軟に着せ替え可能な点を述べた。
WPF はすぐ理解できるはず
さらに興味深いことは、 Silverlight™ のレシピは常にオープンな状態にあるということ。 HTML ベースのページの作りがブラウザの「ソースを見る」機能で第三者にも解析できることと同じ原理で、 Silverlight™ 用の素材を呼び出す JavaScript などをブラウザ上で解析し、XAML の保存先などを参照すればコードがそのまま確認できるのだ。「Web ページが爆発的に普及した理由の 1 つはレシピが入手しやすかったから。ロジックもアセットもすべて言語ベースの Silverlight™ なら既存のアプリケーションを参考にした学習方法が取れる。普及にも時間はかからないだろう。」と東氏は予測する。この方法で既存のアプリケーションの UI デザイン変更に挑戦するのも勉強になりそうだ。
また東氏は「Silverlight™ が習得できれば、 Windows® 用デスクトップ アプリケーション開発技術の WPF へ無理なくステップアップできるはず。」と Silverlight™ 習得の先も見据える。アプリケーション開発は Web 業界に残された大きなマーケットである。 Silverlight™ は Web 制作者にとって次のステージへの入り口でもあるのだ。
(インタビュー : 矢野りん)