新春特別企画
Silverlight 4登場,そして2010年
現在
現在,Silverlight3が正式版として昨年の7月10日に公開されています。Silverlight3ではブラウザ外で実行できるOut of Browser機能やH264,AACなどのコーデックのサポートをはじめ,様々な機能が追加されアプリケーションを本格的に開発できる環境が整いました。
さらに,一息つく間もなく11月18日の約4カ月後には米国で開かれたPDC09でSilverlight4がアナウンスされBeta版が利用可能になりました。
本稿ではSilverlight4 Betaの印象的な機能を紹介し,最後に現在までの振り返りと今後の筆者の期待を込めた展望を記載します。
Silverlight 4 Betaの開発環境
Silverlight4 Betaは既に開発者向けランタイムが配布されており,従来通りのSilverlight Toolsも公開されています。Silverlight Toolsは今回からはVisual Studio 2010用のアドインとなっているため,残念ながらVisual Studio2008では開発することはできません。しかし,現在Visual Studio2010 Beta2も一般向けにダウンロード可能になっているため誰でも利用することができます。また,従来通りVisual Web Developer Express Editionでも開発が可能です。
また,Expression BlendもSilverlight4の開発に対応したExpression Blend Preview for .NET4(Expression Blend 4でないことに注意)が現在は英語版のみですがダウンロード可能になっています。
Silverlight 4 Toolsでは待望されていたVisual Studio上でデザイナー画面を使ってコンポーネントをドラッグドロップして配置するという従来のその他のテクノロジーと同様の操作がサポートされましたので,より開発者の方には親しみ深いものになりました。
それでは,以降でSilverlight4で追加された新機能で筆者が特に重要と感じたWebカメラやマイクのデバイスサポートとOut of Browserのtrustedモードをご紹介します。
Webカメラの利用
Silverlight4からはローカルPCに設定されたWebカメラとマイクをアプリケーション上で利用することが可能になりました。
Webカメラから動画を取得し画面に表示する,簡単なコード例を以下に載せます。
リスト1 Webカメラから動画を取得し画面に表示する
//デバイスが利用可能かどうかを判定
if (!CaptureDeviceConfiguration.AllowedDeviceAccess) {
if (!CaptureDeviceConfiguration.RequestDeviceAccess()) {
return;
}
}
//デバイスの設定
CaptureSource source = new CaptureSource();
source.VideoCaptureDevice =
CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();
//キャプチャーした内容の画面への表示設定
VideoBrush video = new VideoBrush();
video.SetSource(source);
VideoField.Fill = video; //Rectangle
//キャプチャの開始
try {
source.Start();
} catch (InvalidOperationException) {
MessageBox.Show("キャプチャーを開始できませんでした。");
}
Webカメラのキャプチャができることで,単に映っているものを表示するというのみならずアプリケーションの機能として幅がぐっと広がります。
まず,すぐに思いつくのはビデオチャットでしょう。今までは文字のやり取りしかできなかったものが,お互いに顔を見ながらやり取りすることがSilverlightでも可能になります。
さらに,AR(拡張現実)も可能になります。ARToolkitやiPhoneの世界カメラなどは有名ですね。ああいった現実世界との相互作用を用いたインタラクションがSilverlightでも実現できるようになります。
Out of BrowserのTrustedモード
Out of Browserは先に少し紹介したように,Silverlight3で搭載されました。これがSilverlightでは大きく拡張されています。
まず,動作モードが従来のSandbox内での動作と信頼されたTrustedモードの二つが用意されています。アプリケーションの作成時にどちらで動作してほしいかを指定する形になります。
このTrustedモードが非常に強力な機能を持っています。
- クロスドメインアクセス
- COMの利用
- ローカルファイルの利用
ざっと挙げれば以上のことができるのですが,中でもCOMが利用できることは非常にインパクトがあります。
よく利用されるシーンとしてまず一番に思い浮かぶのがExcelの利用です。ローカルにインストールされたExcelをCOMインターフェイスから直接呼び出して,読み書きできます。今まではサーバーに一旦アップロードするか,または完全にSilverlight内で閉じるにはXML形式で自前で実装する必要がありました。
事実上,COMが公開されていれば,ほぼどんなことでも出来るようになっています。現実的かどうかはさておきADOを使ってSilverlightから直接データベースにつなぐということも可能です。
Trustedモードで動かさなければならないという制限はありますが,企業内など限られた環境ではTrustedモードも利用しやすいためSilverlightアプリケーションとして単体で出来る内容が非常に広がります。


