Silverlight-ブラウザ外のアプリケーション
次に、エンドユーザーのマシンにインストールして通常のWindowsアプリケーションのようにWebブラウザーの外部で実行できるアプリケーションのSilverlightサポートについて説明します。アプリケーションでブラウザを使い果たしてほしいと思う主な理由は3つあります-
- Interaction
- Offline
- 高い信頼
インタラクション
それはより良いインタラクションデザインを可能にするかもしれません。Webのナビゲーションモデルは、一部のアプリケーションには特に適していません。たとえば、アドレスバーと[戻る]ボタンはスペースの無駄であり、役に立たない場合があります。
ここでのSilverlightの重要性は次のとおりです-
Webアプリケーションは、Silverlight、Flash、AJAXなどのクライアント側テクノロジを使用して、単一のページに継続的な更新を提供し、他のページに移動する必要をなくすことができます。
一部のアプリケーションでは、ユーザーはブラウザーが単一のページと見なすものに数分または数時間も費やす可能性があります。
この種のアプリケーションの場合、 Back ボタンは、アプリケーションに入る前に表示していたページに戻ってしまうため、アプリケーションを終了するという驚くべき効果をもたらす可能性があります。
明確に言えば、Webに似ていないアプリケーションは、通常、ブラウザーを使い果たすことでより適切に提供されます。これは、ブラウザーのChromeがなくなるためです。一般的に、ブラウザが不足する理由は使いやすさだけではありません。
オフライン
この機能を使用するもう1つの理由は、オフライン実行を有効にすることです。ブラウザー外操作用にSilverlightアプリケーションをインストールすると、ローカルマシンのユーザーごとのリポジトリにコピーされ、Windowsの[スタート]メニューなど、アプリケーションを起動するための通常のオペレーティングシステムメカニズムを通じて使用できるようになります。
これにより、ユーザーがインターネットに接続していなくても、アプリケーションを使用できるようになります。
明らかに、これはサーバー側の情報に完全に依存しないアプリケーションにのみ役立ちます。
たとえば、小包配達サービスの自動追跡アプリケーションは、ネットワーク接続がなければあまり役に立ちません。
一部のアプリケーションでは、接続障害が発生した場合でも作業を継続できると非常に役立ちます。
高い信頼
Silverlightのバージョン4では、信頼できるアプリケーションのサポートが追加されました。Silverlightのセキュリティサンドボックスは通常、ユーザーのファイルへのアクセスなど、特定の特権操作をブロックします。
ただし、ブラウザ外のアプリケーションが昇格を要求する場合があります。ユーザーがその要求を許可すると、アプリケーションは、COMオートメーションの使用やウィンドウの境界線のカスタマイズなど、通常のWindowsアプリケーションで実行できるより多くの種類の作業を実行できます。
ブラウザ内で実行されるアプリケーションは決して信頼されないため、これらの機能を使用する場合は、ブラウザ外のアプリケーションを作成する必要があります。
OOBの有効化
ブラウザ外のアプリケーションを作成するにはどうすればよいですか?それは非常に簡単です。Silverlightのプロジェクトプロパティで1つの設定を変更する必要があり、適切な設定を追加するだけです。AppManifest.xaml。
それがどのように機能するか見てみましょう。
マニフェストがブラウザー外実行がサポートされていることを示している場合、これは初期効果がありません。アプリケーションは通常どおりブラウザで実行されます。
ただし、ユーザーが右クリックすると、標準のSilverlight ContextMenu コンピュータにアプリケーションをインストールするための追加アイテムを提供します。
ユーザーがその項目を選択すると、確認を求めるダイアログボックスが表示されます。また、[スタート]メニュー、デスクトップ、またはその両方からアプリケーションにアクセスできるかどうかも尋ねられます。
コンテキストメニューに依存する必要はありません。APIがあるため、ユーザーがクリックしてアプリケーションをインストールできるボタンを提供することもできます。これを呼び出してインストールを開始できます。
プログラムでインストールを開始しても、ユーザーには引き続きダイアログボックスが表示されます。ユーザーの同意なしにアプリをインストールすることはできません。
Silverlightアプリケーション
これは非常に単純なSilverlightアプリケーションです。以下にそのXAMLコードを示します。
<UserControl x:Class = "SimpleOob.MainPage"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable = "d"
d:DesignHeight = "300" d:DesignWidth = "400">
<Grid x:Name = "LayoutRoot" Background = "White">
<Border BorderBrush = "Blue" BorderThickness = "4" CornerRadius = "20" >
<Border.Background>
<LinearGradientBrush StartPoint = "0,0" EndPoint = "0,1">
<GradientStop Offset = "0.0" Color = "White" />
<GradientStop Offset = "0.15" Color = "#cef" />
<GradientStop Offset = "1.0" Color = "White" />
</LinearGradientBrush>
</Border.Background>
<TextBlock HorizontalAlignment = "Center" VerticalAlignment = "Center"
Text = "Silverlight Application" TextOptions.TextHintingMode = "Animated"
TextAlignment = "Center" TextWrapping = "Wrap"
FontSize = "72" FontFamily = "Trebuchet MS" >
<TextBlock.Effect>
<DropShadowEffect Color = "#888" />
</TextBlock.Effect>
</TextBlock>
</Border>
</Grid>
</UserControl>
Step 1 −ブラウザ外での実行を有効にするには、プロジェクトの Properties、[Silverlight]タブをクリックします。私たちがする必要があるのは-チェックするだけですEnable running application out of the browser チェックボックス。
このアプリケーションを実行すると、Webブラウザがまったく表示されないことに気付くでしょう。
実際、VisualStudioがあなたに代わって決定を下しました。有効にしたときout-of-browser 実行すると、デバッグ設定が不当に変更されました。
Step 2 −それで、ここで Solution Explorer、Silverlightプロジェクトが太字になっていることに注意してください。これは、スタートアッププロジェクトであることを示しています。
以前はそうではありませんでした。それはウェブプロジェクトでした。現時点では、そのチェックボックスがエンドユーザーの状況をどのように変更するかを示したいので、これは必要ありません。
Step 3 −Webプロジェクトをスタートアッププロジェクトに戻します。
Step 4 −アプリケーションを再度実行すると、アプリケーションがブラウザに戻っていることがわかります。
Step 5−Webページを右クリックします。コンテキストメニューに通常のSilverlightエントリがあり、追加のアイテムをインストールする必要があります。
Step 6 − 2番目のオプションを選択すると、次のような[アプリケーションのインストール]ダイアログボックスが表示されます。
アプリケーションの元となったWebサイトのルートURLが表示されていることに注意してください。Visual Studioが提供するローカルデバッグWebサーバーを使用しているため、localhostと表示されます。
Step 7 −クリック OK、およびアプリケーションは、ブラウザとは別の独自のウィンドウで実行されます。
このウィンドウが何らかの形でブラウザによって所有されている、またはブラウザに接続されていると考えるのは自然かもしれませんが、そうではありません。ブラウザを閉じることができ、このウィンドウは表示されたままになります。さらに重要なのは、このウィンドウを閉じてから、ブラウザーをまったく使用せずにアプリケーションを再実行できることです。
Step 8 −開いた場合 Search のダイアログボックス Start メニューからアプリケーション名の入力を開始すると、通常のWindowsアプリケーションと同じように表示されます。
Step 9 −ブラウザが見えなくても実行できます。
アプリケーションをアンインストールするには
アプリケーションのデフォルトのコンテキストメニューは、それを行うための簡単な方法を提供します。ユーザーは、他のアプリケーションと同じ方法でこれをアンインストールすることを合理的に期待できます。
Webページを右クリックして選択して削除することもできます Remove this application…。
OOB設定
ブラウザー外操作を有効にするために1つの設定を変更するだけで済みましたが、実際には、通常はそれよりも少し多くのことを実行する必要があります。ザ・AppManifest.xaml ファイルには、に関連するいくつかの設定を含めることができます out-of-browser 通常、VisualStudioを介して構成する操作。
お気づきかもしれませんが、チェックボックスをオンにして有効にしたとき running out-ofbrowser、VisualStudioはラベルの付いたボタンを有効にしました Out-of-Browser Settings。
ボタンをクリックして見てみましょう。次のダイアログボックスが表示されます。
最初に構成できるのは、として表示されるテキストです。 Window Title。
ウィンドウのサイズと場所を修正するオプションもありますが、今のところ自動のままにしておきます。
このショートカット名はに表示されます Start メニュー、およびインストール後のアプリのデスクトップリンク。
これは、コンテキストメニューおよびアプリケーションのインストールダイアログに表示されるテキストでもあります。
このアプリケーションの説明は、ショートカットにカーソルを合わせるとツールチップに表示されます。
さまざまなサイズのアイコンを提供しています。これらはプロジェクトに組み込む必要があります。