Microsoft Silverlightは、Internet ExplorerやFirefoxといったブラウザ上で動作するプラグインの一種で、HTML文書に組み込む形で高度なメディア再生やUIを実現します。本シリーズでは、Silverlightアプリケーションの開発やデザインに関連する特徴的な機能や注目するべき特性をピックアップしてご紹介します。最初となる今回は、Silverlightを使うことで、どのようなアプリケーションを実現できるのかをご説明します。
大雑把にSilverlightを説明するならば、競合製品として比較されるAdobe Flashのようなものだと言えば簡単です。しかし、元々はネット上でアニメーションを再生させることを出発点としていたFlashとは誕生の経緯が大きく異なります。
Silverlightは、元々.NET Frameworkのプレゼンテーション技術であるWPF (Windows Presentation Foundation) を、Windowsやシステムにインストールされている.NET Frameworkランタイムとは切り離して、Windows 以外の環境でも動作する軽量なサブセットとして開発されたものです。Silverlightは.NET Frameworkをベースとしているため、Flashよりもアプリケーション実行環境としての性質が強く、単にFlashの競合と片付けるよりも、Flashの軽量でリッチなプレゼンテーション能力と、Javaアプレットのセキュアで信頼性のある実行環境、両方の良い部分を取り入れたプラットフォームであると言えるでしょう。
従ってSilverlightでは、Flashで作られるようなアニメーションを駆使した高品質なデザインを実現することが容易であり、Javaや.NET Frameworkが得意とするn層アプリケーションのプレゼンテーション層としても威力を発揮できます。マルチメディアにも強く、Windows Mediaを活用した動画配信サービスにも利用できます。
さらに、現在開発中のSilverlight 3ではグラフィック機能が洗練され、GPUを使ったハードウェア・アクセラレーションを有効にできます。HLSLで記述したピクセルシェーダからエフェクトを作成することも可能になるため、Webベースのゲーム実行環境としても本格的な実用が可能な水準となるでしょう。
インストールと実行
Silverlight は.NET Frameworkをベースとしていますが、Windowsにインストールされている.NET Frameworkランタイムとは分離されています。よって、Silverlightアプリケーションは、軽量なプラグインのインストールのみで実行できます。Silverlight本体のダウンロードとインストールについてはSilverlight公式ページをご覧ください。
Silverlightアプリケーションには、すでに多くの事例が存在します。Silverlightで何ができるかは、以下のアドレスのショーケースにある事例から体験できます。このショーケース自体もSilverlightで作られています。
アプリケーションの種類は、左のCategoryから選択できます。ビジネス、ゲーム、エンターテイメント、メディアなど、非常に多くの分野でSilverlightが活用されていることが確認できます。これらショーケース内の作品の多くは、Silverlightのデザイン能力の高さを証明するような極めて高品質なUIで作られています。もちろん、こうした高度にカスタマイズされたコントロールが使えるのもSilverlightの特徴ですが、従来のWindowsフォームのような標準コントロール群を利用することも可能です。
なぜSilverlightが必要か
Silverlightに限ったことではなく、FlashやAjaxベースのアプリケーションでも同じことが言えますが、これらの技術がここ数年になって注目されるようになったのは、Webアプリケーションに求められる機能が多様化かつ複雑化し、ブラウザの表現力が乏しい標準機能だけでは開発が困難になりつつあるためです。
また、現時点では Web アプリケーションでの進出が遅れている分野も存在します。オーサリングソフトウェアや、文書作成ソフトウェアなどのエディタ関係は、現在のHTMLフォームでは操作に難があるため、デスクトップに置き換わる実用的な Web アプリケーションは実現が難しいでしょう。しかし、Silverlightであればデスクトップアプリケーションと同等か、それ以上の操作性を提供できます。
Silverlightは、デザイナであれば新しいコンテンツの表現手段であり、開発者であればアプリケーションの実行手段となるでしょう。次回は、Silverlightアプリケーション開発において特徴的な、ロジックとデザインの分離について説明します。
著者プロフィール:赤坂玲音
フリーランスのテクニカルライタ兼アプリケーション開発者。主にクライアント技術、プレゼンテーション技術が専門。2005年から現在まで「Microsoft MVP Visual C++」受賞。技術解説書を中心に著書多数。近著に『Silverlight入門』(翔泳社)などがある。