Web Platformの全体像を知る
Silverlightアプリケーションのブラウザ外実行とその効果
それでは、ブラウザ外で実行できるSilverlightアプリケーションを作成しましょう。手順は、以下のとおりです。
- 新しいプロジェクトで「Silverlightアプリケーション」を選択。
"ThinkIT-SL"という名前を付けてOKボタンをクリック - 表示されたフォーム上にツール・ボックスからTextBox、Button、Labelを貼り付ける
- Buttonをダブル・クリックし、クリック・イベントを展開
- 次の処理を記載。label1.Content= textBox1.Text;
- 1度実行し、TextBoxに値を入力後、Buttonをクリックすると、Labelに文字が表示されることを確認する
次に、サンプルをブラウザ外で実行できるようにします。
- ソリューション・エクスプローラから、ThinkIT-SLプロジェクトのプロパティを開き、Silverlightタブの中にある「アプリケーションのブラウザー外実行を有効にする」にチェックを付ける(図2)
図2: アプリケーションのブラウザ外実行を有効にする |
以上です。コードを1行も書くことなく、チェック・ボックスを付けるだけで、ブラウザ外で実行させることができるようになります。実行結果は、図3の通りです。
図3: ブラウザ外実行されたSilverlightアプリケーション |
コンテキスト・メニューから選択すると、クライアント端末上にインストールできるようになります。インストール時に、ショートカットをスタート・メニューかデスクトップに作成します。逆に、アンインストールは、ショートカットからアプリケーションを起動してコンテキスト・メニューから削除を選択するだけです(図4)。
図4: ブラウザ外実行されたSilverlightアプリケーションのアンインストール |
いかがでしょう。本来は煩雑であるアプリケーションのインストール/アンインストールが非常に簡単に実装できることが分かります。ブラウザ外での実行は、今後のSilverlightの重要な機能になると思うので、簡単に実装できることを覚えておけば、開発に対する意識のハードルもグッと下がるはずです。
ブラウザ外で実行する時に権限を昇格させることで、Webアプリケーションであるにも関わらず、デスクトップ・アプリケーションのような機能を利用できるようになります。例えば、ユーザーに確認することなくローカル・ファイルにアクセスしたり、Silverlightアプリケーション外からファイルをドラッグ&ドロップや、ポップアップ通知が実現できます。COMオブジェクトも利用できるようになるため、COM越しでデスクトップ・アプリケーションと連動することやUSBデバイスとの連携もできるようになります。
「ブラウザ外実行の利用が進む」と記載した理由は、このようにブラウザ外での機能拡張が、開発者/利用者にとって新たなアプリケーションの体験や可能性を生み出す可能性が高いからです。
次期バージョン「Silverlight 5」の新機能
2010年12月、Silverlight FireStarterというイベントで、Silverlight 5で実装される予定の新機能について告知がありました。Silverlight 5自体は2011年後半にリリース予定のようですが、すでに新機能にかなりの注目が集まっています。目玉の機能を紹介しておきます。
- メディア配信の機能強化
米国のメディアなどでは、オリンピックなどの大型イベントにおいて、Silverlightを利用した動画配信をすでに実施しています。Silverlight 5からは、クライアント端末のGPU(Graphics Processing Unit)を使ってフルHD解像度のコンテンツを再生できるほか、再生速度を変更(少し速く再生、または少し遅く再生)できるようになります。
- ブラウザ外実行の機能強化
権限昇格されているSilverlightアプリケーションでは、P/Invokeが実行できるようになり、Win32 APIの呼び出しなども実現できます。まさにデスクトップ・アプリケーションとそん色が無いRIAアプリケーションになりそうです。
- 64bitブラウザへの対応
Silverlightは、今のところ32bitのブラウザに限って利用できていましたが、Silverlight 5からは64bitのブラウザでも利用できるようになります。
- 開発生産性の向上
VS 2010による開発時に利用できなかった自動UIテストなどを支援する機能強化が予定されています。
IE9(Internet Explorer 9)のリリースにより、「HTML5がRIAの中心になるのではないか」と感じている方も強いと思います。しかし、Silverlightは、HTML5が苦手としている部分に注力し、バージョン アップを実施しています。米Microsoft自身が注力しているテクノロジなので、業務の要件が合致する場合は、積極的にSilverlightを採用して開発を進めましょう。