1

主に Silverlight Web アプリケーションである新しいプロジェクトを開始しています。ただし、スタンドアロンのデスクトップ アプリケーションとしても実行する必要があります。

Prism 4.0 に基づいてプロジェクトを作成する予定です。「マルチターゲット」アプリケーションの Silverlight と WPF 間でのコード共有に関するガイダンスを提供します。私の理解が正しければ、MVVM を使用して、同じビュー モデルと基礎となるサービスに対して個別の Silverlight ビューと WPF ビューを作成できます。

Silverlight をブラウザー外のアプリケーションとして実行できるようになったときに、余分なビューを作成するために余分な作業をする価値があるかどうかは疑問に思っています。アプリのデスクトップ バージョンを IIS Express にバンドルして、Silverlight アプリをローカルでホストすることはできませんか? それはかなり簡単なことのようです。WPF で別の方法で実行できる視覚的に説得力のあることがいくつかあると確信していますが、私の場合、使用量の 90% が Web バージョンになるため、明確に Silverlight に重点が置かれています。2 つの別個のビュー セットを維持する必要がある場合、定期的に WPF バージョンが Silverlight バージョンより遅れていることがわかります。

データの面では、デスクトップ バージョンの SQL CE 4.0 で動作するように Entity Framework を構成できることは既にわかっています。WPF を使用したとしてもこれを行うので、実際にはプレゼンテーション レイヤーにかかっています。

要約すると、質問は次のとおりです。IIS Express + Silverlight OOB は、Silverlight と WPF の両方を対象とするマルチターゲットの実行可能な代替手段ですか?

4

2 に答える 2

2

サンドボックスの制限に耐えられる限り、Silverlightのみのバージョン設定の方が適している可能性があります。テストする明確でないコードは常に良いことです。アプリが何をしているのかを指定していませんが、(ほとんどの)ローカルデバイスへのアクセス、無制限のファイルシステムアクセス、またはその他のSL4サンドボックス制限(COM相互運用機能でも回避できる)を必要としない限り、 、しかし痛い)、ブラウザ内およびブラウザ外のデプロイメント設定でアプリの1つのバージョンを実行するだけで問題ないはずです。

于 2011-04-15T17:43:16.633 に答える
1

ブラウザアプリのSilverlightは、ニーズにぴったりです。IISExpressとSQLCEをバンドルするのではなく、ローカルデータストレージ用のSterlingDBのようなものを検討することをお勧めします。Webサービスを呼び出す場合、「完全信頼」フラグを有効にして実行されているブラウザー外アプリケーションには、クロスドメイン制限はありません。このように、アプリは純粋なSilverlightになり、展開と更新のシナリオは非常に簡単になります(Webサイトからのシングルクリックインストール)。

于 2011-04-16T00:49:31.520 に答える