nikkei BPnet :: 日経BPのビジネス情報ポータル nikkei TRENDYnet :: トレンドウォッチ ポータル NBonline(日経ビジネスオンライン) :: ビジネスリーダーの羅針盤 PConline(日経パソコン オンライン) :: 仕事に役立つパソコン総合情報 ITpro :: ITプロフェッショナルのための専門情報 Tech-On! :: 技術者を応援する総合情報サイト 日経メディカル オンライン :: 臨床医のための情報サイト KEN-Platz(ケンプラッツ) :: 建設・不動産の総合情報サイト SAFETY JAPAN :: 安全な生活・セキュリティの総合サイト 経営とIT新潮流&EnterprisePlatform :: イノベータのための深掘り情報 BPtv :: 日経BPの動画ポータルサイト 日経キャリアNET :: 質の高い転職・求人情報
ITpro Special ITpro

Web=ブラウザ」という時代の終焉/ターニング・ポイントを迎えたWeb開発環境の新たな解とは

Vol 02  Silverlightに見る新たなweb開発の世界

クロス・プラットフォームというマイクロソフトの本気

 このところマイクロソフトから提供されるソリューションは,例えばASP.NET AJAXのようにマイクロソフト以外の環境についても配慮されてきている。今回取り上げるSilverlightも,そんな配慮がなされた新しいプレゼンテーション・テクノロジーである。

 Silverlightは,マイクロソフトのOS環境に閉じていたWPF(Windows Presentation Foundation)の世界を,様々なOSの多様なブラウザ上に展開していくためのものだ。例えば配信されたムービー・コンテンツの再生にWindows Media Playerを必要とする,といった依存性も無い。そのため,これまでのマイクロソフト・ソリューションでは実現が難しかったリッチなユーザー体験を,WPFより幅広いユーザーに提供することが可能である。今回は具体的にSilverlightの可能性を見ていこう。

●何が違う? Silverlight1.0と1.1

 Silverlightには,リリースが近いベータ版のSilverlight 1.0と,アルファ版として提供されているSilverlight 1.1がある。その違いはどのような点にあるのだろうか?まずは,サンプルをチェックしてみよう。

▼Silverlight 1.1
http://silverlight.net/community/gallerydetail.aspx?cat=2&sort=1

1.「view it」をクリックするとサンプルが実行される。

■図1 Silverlightのダウンロードページ

■図1 Silverlightのダウンロードページ

2.プラグ・インがインストールされていない場合には「Get Microsoft Silverlight」という画像が表示され,この画像をクリックするとSilverlightのダウンロード・サイトへ誘導される。全画面表示されるゲームなど,可能性を十分体感できるはずだ。

図2 サンプル「Chess」

■図2 サンプル「Chess」

▼Silverlight 1.0
http://silverlight.net/community/gallerydetail.aspx?cat=1&sort=1

●JavaScriptからCLRへ

 1.1の大きなトピックとして挙げられるのが,CLRのサポートだ。CLRサポートで,処理速度の大幅な向上を図ることが1つの目的と考えられる。では1.0はどうなのかというと,1.0のテクノロジー・ベースはJavaScriptなのである。また,1.0と1.1の差は処理速度だけに留まらず,使用可能なコントロールの違いなどから1.1の生産性は向上しているものと考えられる。

 例えばサンプルの1つであるchess(図2参照)の場合には,JavaScript(JScript)ベースの場合と.NETベースの場合の処理速度が(Nodes/sec)で表示されているのだが,筆者の環境では数十〜数百倍もの差が存在した。

●1.1がMac OS/Safariをサポートするということ…

 もう1つ,Silverlightで注目すべきことに,幅広い環境への適応が挙げられる。具体的にはOSとしてMac OSを,ブラウザとしてSafariやFirefoxがサポートされているのだ。これまでは,マイクロソフト発のソリューションであるWindows MediaのビデオフォーマットWindows Media Video(WMV)をとってみても,デジタル著作権保護(DRM)の仕組みが備えられたムービー配信の選択肢の1つにも関わらず,Macへの対応はQuickTime Playerであった。しかもDRMには非対応であるなど,比較的Windowsの世界に閉じたものだった。

 しかし,SilverlightではMac OSやSafariへの対応が明確に打ち出されており2007年4月,米国ラスベガスで開催されたマイクロソフトのイベント「MIX07」でもMac OSやSafari環境でのデモが数多く行われていた。さらに,携帯電話などのモバイル向けデモンストレーションも行われており,多様な環境へコンテンツを届けることに注力されている。

 CLRベースのコンテンツをMac OS環境で動作させることができるSilverlightは,マイクロソフト・ベースのテクノロジーで開発されるコンテンツの世界を広げ,.NETベースのテクノロジーを使うスタッフの表現する世界を広げるはずだ。1.1のロードマップがまだはっきりとしないのはこの多様な環境への対応のためと思われるが,1.1への期待度は非常に高い。

図3 Mac OS環境のプラグ・イン・インストール画面

■図3 Mac OS環境のプラグ・イン・インストール画面

Silverlight 1.0 のムービー・クオリティの力量

 さて,ここまで概念的な話をしてきたので実際のコンテンツ制作を少し覗いてみよう。開発環境としてはVisual Studio,Expression Blendなどが挙げられるのだが,ここではSilverlight 1.0の特徴である高クオリティのムービーという点を踏まえ,Expression Media Encoderによるムービー・コンテンツの制作を行ってみたい。

 Expression Media Encoderは現在プレビュー版のダウンロードが可能だ。Windows XPにインストールする際,.NET Framework 3.0のランタイムがインストールされていない場合は,まずランタイムのインストールが必要だ。Windows Vistaの場合には.NET Framework 3.0のランタイムが含まれているのでインストールは不要だ。

▼Microsoft.NET Framework 3.0 再頒布可能パッケージ
http://www.microsoft.com/downloads/details.aspx?FamilyId=10CC340B-F857-
4A14-83F5-25634C3BF043&displaylang=ja

▼Expression Media Encoder
http://www.microsoft.com/Expression/products/overview.aspx?key=encoder

 「Free Trial Download」からダウンロードし,Expression Media Encoderをインストールする。

 ※現状では英語版のため,使用の前にちょっとした作業が必要だ。後の手順に出てくるテンプレートファイルを使用するため,ファイルのコピーを行う。

 「C:\Program Files\Microsoft Expression\Media Encoder 1.0\Templates」の中に存在する「en」フォルダ一式をコピー&ペーストし,フォルダ名を「ja-JP」とする。

図4  Expression Media Encoderのインストール作業

■図4  Expression Media Encoderのインストール作業
「en」フォルダ一式をコピー&ペーストし,フォルダ名を「ja-JP」とする。

●Expression Media Encoderの使い勝手

 Expression Media Encoderの使い方はいたって簡単だ。ムービー公開までの基本的な流れを説明しよう。

 1. [File] > [Import]で元となるムービーを選択(図5参照

 2. スライダーでムービーの長さを調整し,必要に応じて右側の[Setting]タブの項目を調整し,ムービーサイズなどを決定(図6参照

 3. [Output]タブのJob Output欄で,ムービーのテンプレートを選択し,必要に応じてエンコードしたファイルの場所などを指定

 4. 画面下の「Encode」ボタンを押す

図5  Expression Media Encoder

■図5  Expression Media Encoder 操作はいたってシンプルだ。

図6 Expression Media Encoder

■図6 スライドさせるだけでムービーの再生時間の範囲を指定可能

 これだけの作業である。必要なファイル一式が用意されるので,あとは公開するだけだ。

 Expression Media Encoderを使用すれば,ムービー準備に必要な作業を楽に行うことができるということを実感していただけただろうか。サーバーによってはファイル名などに使われている大文字・小文字が問題となるためHTMLファイル内の記述を変更するなどの作業が必要になるかもしれない。しかし,ムービーの編集・準備に必要な環境までそろっているので,Silverlight用のムービー・コンテンツ制作は,ほかの環境と比較して非常に楽であると言えるだろう。

■Silverlightは結局,ユーザー・メリットも生み出す?

●何がFlashと違うのか?

 ここまでSilverlightのメリットを紹介してきたが,最も気になることはズバリ「Silverlightの可能性」ではないだろうか。リッチなユーザー体験を提供するソリューションとしては,既に世の中に認知されている「Flash」がある。プラグ・インの普及率も抜群で,一見隙など無いように見えるかもしれない。しかし,コンテンツを準備する側に目を向けると,一種独特な制作環境,十分とは言い難いムービーへの対応などから,コンテンツを準備するのにコストがかかりがちだった。

 一方のSilverlightには,システム開発でこれまで使用されてきたVisual Studioで開発ができるというメリットがある。あるいはムービーを簡単に編集し公開できるExpression Media Encoderの存在がある。コンテンツを準備する側には,ハッキリとしたアドバンテージがあるのだ。これにより,制作期間の短縮,あるいはコストダウンによるコンテンツの質や量の向上,といった形で十分ユーザー・メリットになりうるわけだ。

●XAML定義というメリット

 SilverlightはWPFと同様に,テキスト系ファイルのXAMLを利用している。SilverlightにおけるXAMLはクライアント・サイドで実行される。つまり,サーバー上に置かれるXAMLファイルを動的に生成させる,といったことも実現できるのだ。時間経過を表すようなファクターをXAMLファイルに埋め込んだスキンの実現など,これまでのリッチコンテンツを超える発想を比較的簡単に実現できる可能性を秘めているのではないだろうか。

 もちろん,本命はCLRがサポートされる1.1ではあるが,リリースが近い1.0についても,例えば,自由度の高いスキンを準備できる“高クオリティの映像配信環境”という面を捉えたら,それだけで採用する価値ありと判断できるのではないだろうか。

 コンテンツを見る側にとっては,FlashかSilverlightかというテクノロジーは“どちらでも構わない”というのが本音で,綺麗で見やすい情報が,煩わしいことなく,安心して楽しめるということが大切なのである。ユーザーからは,“Silverlightは知名度のあるマイクロソフトが提供するソリューション”程度にしか認知されないかもしれないが,コンテンツを配信する側のメリットをみれば,非常に注目するべきソリューションであると考えている。

筆者:新谷 剛史  株式会社セカンドファクトリー

関連リンク集


関連リンク集


ITproについて会員登録・メールマガジン購読ITproプレミアム(有料サービス)MyITproについてITpro Researchについて
ITproへのお問い合わせ・ご意見日経BP書店日経BPケータイメニュー広告について
著作権リンクについて|個人情報保護方針/ネットにおける情報収集/個人情報の共同利用についてサイトマップ

日経BP社Copyright (C) 1995-2010 Nikkei Business Publications, Inc. All rights reserved.
このページに掲載されている記事・写真・図表などの無断転載を禁じます。著作権は日経BP社,またはその情報提供者に帰属します。
掲載している情報は,記事執筆時点のものです。