PR

Web Platformの全体像を知る

2011年3月30日(水)
ナオキ(監修:山田祥寛)

はじめに

ASP.NETでは実現できない操作性を実現したい!」。こういう場合は、Silverlightがおススメです。特に、ブラウザの外部で実行させた場合は、もはやデスクトップ・アプリケーションと言っても良いほどの機能を持っています。

現在では、ASP.NETやSilverlightアプリケーションを配置する場所も多岐にわたります。従来であればWindows Server上に展開していましたが、現在ではWindows Azure Platformと呼ぶPaaS型のクラウド・サービスを利用できます。本記事では、これら2つ(SilverlightとWindows Azure Platform)について紹介します。

Silverlight開発では、デザイナとデベロッパが共同開発できる

Silverlightは、マルチブラウザ、マルチプラットフォームという特徴を備え、強力なメディア配信機能を持つ、RIAの実行環境およびフレームワークです。最新バージョンは、Silverlight 4です。ロジックの開発には、ASP.NETやWCF同様にVisual Studio 2010(以下、VS 2010)を使います。開発言語はVB(Visual Basic)またはC#を使います。

デザインには、Expression Blendを使います。Expression Blendでデザインした画面は、XAMLファイルとして生成されます。このように、従来のデスクトップ・アプリケーションでは難しかったデザイナとデベロッパの共同開発が、ロジックとデザインを分離し、それぞれの専用ツールを用いることで、実現できるようになっています。また、SilverlightはHTMLページ内に埋め込むことができるため、ASP.NETアプリケーションや、それ以外のWebテクノロジとも組み合わせることができます。

図1: Silverlightによる分業パターン

図1: Silverlightによる分業パターン

Silverlightの機能

以下では、Silverlightが現在備えている機能を示します。簡単に補足説明も記載します。

  • マルチブラウザ対応

    Internet Explorer/Firefox/Google Chromeを利用できます。

  • メディア配信機能

    高品質な動画を扱え、DRM(Digital Rights Management)を利用できます。また、IIS 7.0と組み合わせることで、任意の場所から再生してもバッファがほぼ発生しない、HD(高解像度)によるメディア配信が実現できます(Xbox 360のZune Videoにて採用済み)。

  • バックエンドでの.NET開発

    C#/VBによる開発のほか、DLR(Dynamic Language Runtime)の導入により、IronPythonやIronRubyによる開発もできます。

  • DeepZoom

    複数解像度の画像ファイルを用意することで、ズームイン/ズームアウトが滑らかに表示できます。

  • ナビゲーション・フレームワーク

    Silverlightで画面遷移を実現するフレームワークを備えています。

  • Webカメラやマイクとの連動

    WebカメラやマイクからのデータをSilverlight内で操作できます。

  • 印刷

    Silverlight内に表示されているテキストや画像を印刷できます。

  • マウス・イベントのサポート

    マウス・イベントが使用できます。右クリックやホイール・イベントも使えます。

  • ドラッグ&ドロップのサポート

    クライアントからSilverlightアプリケーション上にファイルのドラッグ&ドロップが実現できます。

  • ブラウザ外での実行

    Silverlightアプリケーションをクライアント端末上にインストールし、ブラウザ外で実行できます。ネットワーク接続の有無を検知したうえで実行できます。

すべてを書き切れてはいませんが、Silverlightが多くの機能を持っていることが分かるでしょう。

気になるのは、Web開発におけるSilverlightの位置づけです。.NET全体ではASP.NETをWeb開発フレームワークとして提供していますし、主要ブラウザで実装が進むHTML5の存在もあります。「オフライン対応もできるHTML5を取り込んだASP.NETですべてをまかなえるのではないだろうか」。こう考える人も多いはずです。

しかし、ASP.NETは完全ではありません。HTML5を取り込んでAJAXやオフライン機能などを盛り込んだアプリケーションは開発できると思いますが*1、デスクトップ・アプリケーションとの連動や、COM(Component Object Model)との組み合わせなど、まだ手が届かない部分が存在します。

  • [*1] ただし、IE 9では、オフライン機能は実装していないので、FirefoxやChromeでのみオフライン機能を活用したアプリケーションが作成できます。

HTML5も同様です。メディア配信がHTML要素で実現できるとしても、それが高機能であるかどうかはまた別の問題です。さらに、HTML5は動画配信だけにあるわけではありません。Web全体の仕様であるため、策定から実装までを踏まえると、10年前後のスパンがかかります。

この点、Silverlightはプラグインなので、こまめにバージョンアップできますし、ブラウザ外でのアプリケーション実行や高機能なメディア配信など、HTML5で実現できない部分のニーズを埋めることができます。また米Microsoft自身も、Silverlightに継続的に投資することを明言していますし、前述の通りSilverlightは、ASP.NETやHTML5の中に組み込むことができます。排他的に考えるのではなく、ユーザーに求められることを実現するために、Silverlightを活用するというシナリオは必ず出てくると言えます。

次ページでは、今後利用が進むであろう、ブラウザ外でのSilverlightアプリケーションの実行について解説します。

著者
ナオキ(監修:山田祥寛)
WINGSプロジェクト

有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表:山田祥寛)。おもな活動は、Web開発分野の書籍/雑誌/Web記事の執筆。ほかに海外記事の翻訳、講演なども幅広く手がける。2011年3月時点での登録メンバは36名で、現在もプロジェクトメンバーを募集中。執筆に興味のある方は、どしどしご応募頂きたい。著書多数。
http://www.wings.msn.to/

連載バックナンバー

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています