silverlight / silverlight out-of-browser / wpfの決定についてサポートが必要です


10

私は書き換えプロジェクトの最初の計画段階にあり、silverlight / silverlight oob / wpfを決定しています。最後にTL; DR。

これは、見込み客/顧客/予定カレンダーを処理するLOBアプリです。複雑すぎない。私は他の場所でこれらのオプションを独自に調査していますが、私は質問したいと思いました。大まかな初期要件/予測可能な問題は次のとおりです。

コマンドライン引数(SIP電話)を使用して、システム上のexeを呼び出せるようにする必要があります。

SLを問題にする

ユーザーベースが分散されているため、ネットワークを通過するトラフィックをできるだけ制限し、厄介な同時実行の問題を回避したい

WPFを使用してこれが問題であることがわかります

ソフトウェアの導入/更新は非常にシンプルでなければなりません。一部のユーザーは非常に技術的ではありません(参照:70歳、初めてコンピューターを使用)

これは、現在交換しているClickOnceアプリでは大きな問題ではなく、使用するマシンを制御できます。ただし、ユーザーがクリックして[インストール]ボタンをクリックする必要がない場合は、ユーザーにとってはより簡単です。これがSilverlight OOBでどのように処理されるのかわかりません。

同社はハードウェアの導入を迅速/簡単にする必要があるため、12か月でハード拡張を計画しています。新しい場所でインターネット接続を取得し、一部のコンピューターを接続して、専用のIT担当者やサーバーのセットアップを必要とせずに作業できるようにするという考えです。

SLを魅力的にする

他のサービス(金融ソフトウェア、asterixサーバー)との統合は当面の目標ではありませんが、システムの一部となることは最終的な目標です。単一のサービスがそれらのセカンダリサービスと統合するように設定されていて、そのすべてのデータをネットワーク経由で転送する必要がない場合、これははるかに単純/効率的になります

SLを魅力的にする

複数の「バージョン」を作成することは不可能です。Silverlight + Silverlight Oobバージョンを維持するのがどのようなものかわからない(問題がある場合でも)

WPFをより良いオプションにするかもしれません。

TL; DR:私の視点から見ると、Silverlightアプリは90%のユーザーに最適です。他の10%は、exeを実行する必要があるため、それを使用できません。Silverlight OOBは良い中間点かもしれませんが、現時点ではそれの実行モデルがどのようなものかわかりません(まだサーバー側コードの概念はありますか?そうであれば、それは理想的でしょう)と私はしません展開/更新がどのように機能するかを知っている。


そもそもなぜClickOnceアプリケーションを置き換えたいのですか?ClickOnceには、アプリケーションの起動時に利用可能なアップデートを自動的にチェックしてダウンロードするオプションがあります。私はそれをしましたreplayer.codeplex.com
Marcel

回答:


6

まあ-興味深い問題。SL4の時点でSilverlightの完全信頼アプリケーションを使用できることを忘れていたため、WPFを検討している場合は、代わりに検討することをお勧めします。(ClickOnce)をインストールする必要がありますが、そこから離れているようです。

OOBについてはまだ何もしていませんが、同じバイナリをブラウザとブラウザ外の両方で使用できることは確かです。これは、個別のビルドターゲットではなくプロジェクト設定だからです。

「ブラウザー外でのアプリケーションの実行を有効にする」

SilverlightプロジェクトのSilverlightタブ。

したがって、そこには個別のメンテナンスの問題はありません。

SilverlightアプリをホストするWebアプリケーションに大量のコードを組み込み、WCF RIAサービスを使用して通信することができます。ここでも、.NET 4とSL 4を使用して、バージョン1.0を入手する必要があります。.NET 3.5およびSL 4は、WCF RIAサービスのベータ版のみをサポートしています。これにより、a)ダウンロードのサイズとb)クライアントで実行する必要があるがネットワークトラフィックが増加するコードの量が減少します。

その点で、Silverlightコードをいくつかのアセンブリに分割し、Prismなどを使用してオンデマンドでロードするように設定できます。これは、ユーザーが実際に使用しているアプリケーションの部分のみをダウンロードすることを意味します。をチェックすることで、ダウンロードされる量をさらに減らすことができます。

「アプリケーションライブラリキャッシュを使用してXAPサイズを縮小する」

オプション。

外部dll(サードパーティまたは.NET)に対応する「extmap」ファイルがある場合、これは、それらがzipファイルにバンドルされ、個別にダウンロードされて、プロジェクト内のすべてのxapファイルで共有されることを意味します。これにより、個々のxapファイルが最小サイズに維持され、クライアントマシン上にこれらの他のdllのコピーが1つだけあることが保証されます。


1
+1:@ChrisFにご協力いただきありがとうございます。私があなたの脳を選ぶことができるように私があなたにIRLを知っていることを望みます。
Steven Evers 2010年

2

あなたの分析はとても良いです。

私が言及する他の唯一のことは、フレームワークのすべてがSilverlightアプリケーションで使用できるわけではないということです。その制限は、選択をWPFに傾ける可能性がありますが、その制限がアプリケーションのニーズにどのように適用されるかを確認する必要があります。


このアプリはほとんどがクラッドアプリですが、exe + argsを介してSIP電話を呼び出す必要があることを除いて、不足しているフレームワークのパーツを見逃すことはないと思います。
Steven Evers

2

いくつかの簡単なこと:

展開と「サーバー側のコード」:Silverlightアプリはクライアント側のアプリであり、シンプルでシンプルです。ブラウザーを介して配信されるという単なる事実を混乱させないでください。ブラウザー内SLアプリを実行すると、そのアプリのアセンブリを圧縮パッケージでダウンロードし、それらを抽出し、プラグインを使用して実行します。Silverlight自体には、「サーバー側のコード」という概念はありません。リモートサーバーでコードを実行する場合は、WCFサービスを記述します。

アプリの更新:これはOOBアプリの一般的なシナリオであり、SLにはサポートが組み込まれています。CheckAndDownloadUpdateAsyncの周りのGoogle。

編集:言及するのを忘れました-アプリケーションのインストールはアプリケーション内から行われます。デフォルトでは、インストール可能なSLアプリには、それをインストールするためのコンテキストメニューアクションがあります。ただし、インストールは、ユーザーがボタンをクリックしたときにプログラムで実行することもできます。インストール状態はプログラムで検出することもできます。そのため、OOBの実行のみを目的とした一部のSLアプリを見て、インストールされているかどうかを最初に検出します。その場合は、アプリを実行します。そうでない場合は、アプリをインストールするボタンを備えたスプラッシュ画面を表示します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.