ニュース
» 2006年02月23日 07時00分 公開

Vista新グラフィックスエンジンはAdobeにどこまで対抗できるか?(2/3 ページ)

[Greg DeMichillie,Directions on Microsoft]
Directions on Microsoft 日本語版

フルバージョンはデスクトップアプリケーション向け

 フルバージョンのWPFは、主にデスクトップアプリケーションの作成向けに設計されている。XAML仕様をフルサポートし、開発者はVB.NET、Visual C++、C#など、あらゆる.NET対応言語を使ってコードを作成できる。

 WPFはWindows Vistaの一部として、あるいはWindows XPまたはWindows Server 2003のアドオンとしてしか利用できないため、Windows 2000などの旧式OSでもアプリケーションを動作させなければならない場合、開発者はWPFをあきらめてWindows Formsなどの技術を使うか、あるいは2つの異なるコードベースを保守するしかない。

ブラウザアプリケーションはセキュアなサンドボックスを提供

 WPFはXAML ブラウザアプリケーション(XBA)の開発にも利用できる。XBAは、以前はAvalon ExpressやWeb Browser Applications(WBA)などと呼ばれていたが、11月のプレビューリリースの際に名称が変更された。WPFデスクトップアプリケーションとXBAの最大の違いは、XBAはInternet Explorer(IE)内からURLを介してアクセスし、IEのセキュリティ環境を引き継ぐ点だ(このセキュリティ環境は、サンドボックスまたは「部分的な信頼環境」などと呼ばれている)。つまり、XBAはIEのセキュリティゾーンを使用し、IEのインターネットゾーン設定で動作するということだ。

 さらに、WPFデスクトップアプリケーションはユーザーが明示的に削除するまではコンピュータにインストールされたままであるのに対して(Windows InstallerまたはMicrosoftのClickOnceインストールフレームワークを介してインストールされる)、XBAはIEキャッシュに一時的に格納される。

 サンドボックス環境により、XBAには以下のような制限が課される。

ストレージが隔離される
 XBAはディスク内の1カ所でしかデータの読み取り/書き込みを行えない。そのため、ブラウザアプリケーションがプライベートなユーザーデータにアクセスするのを防止できる。

ウインドウのサポートが限られる
 XBAは独自のカスタム版ダイアログボックスやトップレベルウインドウを作成できないため、あたかもOSが表示しているかのように装ったダイアログボックスは用いることができない。これは、悪性サイトやフィッシング攻撃などで一般的な手法だ。

ネイティブコードやActiveXを使えない
 XBAはセキュリティ制限の実施に.NET Frameworkを使用するため、.NET Frameworkを回避するネイティブコードやActiveXコントロールは使えない。

Webサービスのサポートが限られる
 XBAはWebサービスにアクセスできるが、Windows Communication Framework(WCF)を使ったアクセスは行えない。WCFは高度なWebサービス機能を提供するためのWindows Vistaのコンポーネントだが、サンドボックス環境には対応していないからだ。

 XBAを使用したいIT組織は、インターネットゾーン設定を修正したり、イントラネットゾーンなど制限が緩めのゾーンを使ったりして、サンドボックス環境を設定できる。ただし、WCFとWindows Workflow Foundationはフルレベルの信頼を必要とし、サンドボックス環境では動作しない。

 WPFデスクトップアプリケーションと同様、XBAはXAML仕様をフルサポートし、あらゆる.NETプログラミング言語で作成できる。また、ターゲットシステムにWPFがインストールされていることが必要となるため、対応するOSはWPFデスクトップアプリケーションと同様、Windows Vista、Windows XP、Windows Server 2003に限定される。XBAはプラットフォームのサポートが限られるため、一般のインターネットよりも企業環境の方に適していると言える。

 ほかのOSもサポートするブラウザアプリケーションを構築したい場合には、AJAXとJavaアプレットが選択肢となる。AJAX(「Asynchronous JavaScript and XML」を短縮したもの)は、より反応性の高い、よりダイナミックなUIを備えたサーバベースのWebアプリケーションを構築するためのブラウザ技術だ。JavaアプレットはXBAに似たサンドボックス環境を提供するが、開発にはJavaプログラミング言語しか使えない。

Copyright(C) 2007, Redmond Communications Inc. and Mediaselect Inc. All right reserved. No part of this magazine may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without prior written permission. ISSN 1077-4394. Redmond Communications Inc. is an independent publisher and is in no way affiliated with or endorsed by Microsoft Corporation. Directions on Microsoft reviews and analyzes industry news based on information obtained from sources generally available to the public and from industry contacts. While we consider these sources to be reliable, we cannot guarantee their accuracy. Readers assume full responsibility for any use made of the information contained herein. Throughout this magazine, trademark names are used. Rather than place a trademark symbol at every occurrence, we hereby state that we are using the names only in an editorial fashion with no intention of infringement of the trademark.

注目のテーマ