このリストは、Microsoftの現在のアプリケーション展開オプションを正しく理解していますか?

StackOverflow https://stackoverflow.com/questions/461186

  •  19-08-2019
  •  | 
  •  

質問

私は、Microsoftが現在提供している多くのアプリケーション展開オプションについて頭を悩ませようとしています。

少し調べてみると、数十の混乱を招く用語が見つかりました:

  • <!> quot; WPFアプリ<!> quot;
  • <!> quot; ClickOnceアプリ<!> quot;
  • <!> quot; WPF ClickOnceアプリ<!> quot;
  • <!> quot; MSIアプリ<!> quot;
  • <!> quot; XBAPアプリ<!> quot;
  • <!> quot; ClickOnce <!> quot;とともにデプロイされたXBAPアプリ
  • <!> quot; ClickOnceアプリのインストール<!> quot;
  • <!> quot; WPF Webアプリ<!> quot;
  • <!> quot; ASP.NET Webアプリ<!> quot;
  • <!> quot; ASP.NET MVC Web App <!> quot;
  • <!> quot; Silverlightアプリ<!> quot;
  • <!> quot;フルWPFアプリ<!> quot;
  • <!> quot; ClickOnce with sync framework support <!> quot;

調査結果を以下の7つの個別のアプローチに整理しました。フィードバックをお願いします:

  1. <!> quot; MSI <!> quotでデプロイされたWPFアプリ。 (多くのインストールオプションを使用できます)

    • MSIランタイムがターゲットコンピューターで必要です
    • オプション付きのウィザード
    • ユーザーごとまたはマシンごとに指定できます
    • 管理者が設定したアクセス許可によってのみ制限される、ターゲットコンピューター上のファイルとレジストリを変更できます
    • デスクトップにショートカットを配置できます
    • システムファイルなどを置き換えると、ターゲットコンピューター上のDLLの地獄に入りやすくなります
    • 更新は大きなマイナスです。利用可能な更新を検出するには、組み込みではなく追加のツール/カスタムプログラミングが必要です
    • アプリケーションを使用するためにユーザーがオンラインである必要はありません
  2. <!> quot; ClickOnce <!> quot;でデプロイされたWPFアプリ:(自動更新が必要で、サンドボックスで実行する場合に適しています)

    • 2回のクリックが必要(ハイパーリンクをクリックして[はい]をクリック)、ユーザー入力なし
    • 現在のユーザーのみ、マシンごとのインストールはありません
    • デスクトップにショートカットはありません
    • 通常のアプリケーションのようにプログラムリストに表示されます
    • applicationsファイルは常に../My Documents / My Applicationsにコピーされます
    • アプリケーションへのショートカットが[スタート]メニュー/会社名に追加されます
    • オペレーティングシステムから隔離されたターゲットコンピュータを変更できません
    • 新しいバージョンを自動的に検出して更新する
    • ウェブサーバーに配置するだけで公開(クライアントが検出して取得する場所)
    • .NET 2.0以降が必要
    • Java Web Startに匹敵する
    • 4つの問題を解決します:(1)簡単な展開、(2)簡単な更新、(3)ターゲットコンピュータへの影響の少ない、(4)管理者権限の必要なし。
    • 考慮<!> quot;低インパクト<!> quot;
    • 2人のユーザーが同じClickOnceアプリケーションを同じマシンにインストールしている場合、お互いが壊れることはありません
    • セキュリティのためにCASを使用する
    • アプリケーションを使用するためにユーザーがオンラインである必要はありません
    • スタンドアロンのClickOnceアプリは.NETランタイムを必要とするため、FirefoxとMacを搭載したFirefoxでは動作しません
    • ブラウザで実行されるため、シングルウィンドウアプリに制限
    • ClickOnceマニフェストの作成は、Silverlightなどよりもはるかに簡単です。IDEがほとんどすべてを実行するためです。ファイルをどこかでホストする必要があります(Web URLの場合もあります。ネットワークUNCの場合もあります)。
  3. <!> quot; XBAP App <!> quot ;: .xbapファイルのxcopy展開、IEおよびFirefoxは、Webページのように即座に表示します

    • XBAPモデルの本当の目標は、従来のHTMLおよびJavaScript Webサイト(またはFlashアプレット)と同等のWPFを作成することです
    • ターゲットコンピューターは、Webブラウザー(IEまたはFirefox)でWebにインストールせずにアプリケーションを実行するだけです
    • これらは、非常に簡単な展開が必要なイントラネットアプリケーション、完全な.NET Framework(Silverlightとは対照的に)、およびブラウザーのナビゲーションモデルに適しています。
    • 99%WPF機能(SilverlightのWPF機能のサブセットとは対照的に)
    • ClickOnceを介して自動的にデプロイすることもできますが、XCOPYがより一般的です
    • あなたrApp.xbapは、実際にはClickOnce展開マニフェストです
    • サンドボックスで実行
    • アプリケーションを使用するにはユーザーがオンラインである必要があります
    • これらは<!> quot;ページベース<!> quotである必要があります。 <!> quot; windows-based <!> quotとは対照的なアプリケーション。アプリケーション
    • <!> quot; XBAPは、ブラウザウィンドウにすべてのコンテンツを表示するという理由だけで、brwoser内で実行されるように見えます。これは、ブラウザプロセス内にロードされるActiveXコントロール(およびSilverlight)で使用されるモデルとは異なります。<!> quot;
    • XBAPsは<!> quot; prompt-free <!> quot;を提供します。 .NET 3.5がインストールされている限り、ブラウザにWebページのように表示されます。
    • XBAPは、相互運用機能を介してWinFormコントロールを使用できません
    • ウィンドウのドラッグアンドドロップの使用を許可しない
    • ほとんどの高度なWCF機能は許可されておらず、XBAPは、XBAPがホストされているサーバー以外のサーバーと通信できません
    • <!> quot;アプリケーションに完全な信頼が必要な場合は、スタンドアロンのWPFアプリを構築し、ClickOnce <!> quotを使用して展開することを検討してください。 ( C#2008のPro WPF
    • トリック:複数のxbapアプリケーションを1つのHTMLページの複数のiframeに埋め込むことができます。
  4. <!> quot; Silverlight App <!> quot ;:クライアントのブラウザーで実行され、ダウンロードされた.NETフレームワークの4MBサブセットを使用します。

    • クロスブラウザ(アプリケーションはOperaおよびSafariでも使用できます)
    • アプリケーションの更新は、ClickOnceやXBAPと同じくらい簡単です
    • シングルウィンドウアプリ
    • アプリケーションはもちろんサンドボックスにあります
    • 非同期のみ
  5. <!> quot; ASP.NET MVC with JQuery / AJAX <!> quot ;: RADおよびTDDの観点からWPFでの開発と同等の新しい開発プラットフォーム

    • このアプローチは、WPF / Silverlightアプローチとともに検討する価値があります
  6. <!> quot; ASP.NET App <!> quot ;: ViewStateなどを備えた従来のWebアプリケーションは、ASP.NET MVCが受け入れられるにつれて、使用される可能性は低くなります>

  7. <!> quot; WinForm App <!> quot ;:従来のWindowsアプリケーションは、WPFが受け入れられるにつれてますます使用されなくなります

私は特に以下に関するフィードバックを歓迎します:

  • コントロールの再利用性(たとえば、Silverlightで開発する場合、XBAPでコード/コントロールを再利用できますか?)
  • 時々オフライン、時にはオンラインで、WCF(おそらくclickOnceアプリだと思う)へのアクセスが必要なクライアントに対する最善のアプローチは何ですか
役に立ちましたか?

解決

AppStartエクスペリエンス:

MSI = Windowsのみ。多くのクリック。使用前にインストールしてください。非常に巨大でリソース集約型のアプリに適しています。アプリはDVDで配布できます。アプリはすべてを実行できます。技術的な制限はありません。

ClickOnce = Windowsのみ。 Webページからアクティブ化できます。一度ダウンロードされます。発信元(サーバー)に関する情報を保持し、自動的に更新できます。アプリは制限されています。 .NETが必要

シルバーライト= Windows / Max / Linux(近日)および将来のモバイル(予定)で実行されます。 Webページであるか、htmlに埋め込むことができます。コードはサーバー上にあり、インストールされることはありません。 Silverligth-Runtimeが必要です。 WPFのサブセットを提供します

XBAP = silverlightに似ていますが、Windows専用です。誰もそれを必要としません。 Silverlightの方が優れています

プログラミングテクノロジー:

シルバーライト= クライアントmaschineで実行されます。 WPF *を使用します

ASP.NET = .NETのサーバーmaschineで実行されますが、クライアントmaschineのJavascript / htmlで実行されます。

WinForms =古いテクノロジー

WCF =ブラウザーベースのアプリでは機能しません。分散アプリ用です。クライアントマシンにすべてのドアを開くことができます。 WCFを使用するには、MSIが必要です。

WCFは、サーバーに適したフレームワークを提供します。インターフェースにRESTを使用する場合、クライアントでWCFが必要になることはありません。クライアントは、ClickOnceおよびMSIインストール済みアプリで接続/切断できます。 SilverlightとASPでappstartのWebページに接続する必要があります。

XAMLはsilverlight / wpf / xbapに再利用できます。 wpf / silverlightのマイナーな変更。私が知っているようにwpf / xbapに変更はありません。

他のヒント

すばらしい要約、エドワード。

Silverlightのコードの多くは、WPF <!> amp;で直接使用できます。 SilverlightはWPFのサブセットであるため、WPF XBAPアプリ。 XAMLの場合、名前空間URIを変更する必要があり、おそらく手動で微調整する必要があります。
XAMLからSilverlightへの変換では、名前空間URIも変更する必要がありますが、SilverlightにないWPF要素が使用されている場合は、リファクタリングが必要になる場合があります。 WPFとSync Frameworkは、オンライン/オフラインアプリケーションに最適なオプションです。 WPF / Syncフレームワークの例については、シンジケートクライアントエクスペリエンススターターキットをご覧ください。アプリ。また、Silverlight + Windows Live Meshはオンライン/オフライン機能を提供します。

MSがクライアントアプリケーションに対してサポートする展開オプションは次のとおりです

  • MSI (すべてのWindowsアプリ)
  • Clickonce (.Netのみ)クライアントアプリ)

ClickonceはWPF固有ではありません。

XBAPSはclickonceがデプロイされ、ブラウザがホストするWPFアプリは信頼できるセキュリティサンドボックスにあります。 WinFormsアプリは、clickonceでデプロイでき、ブラウザーでホストできます。

Silverlightは(ほとんど)WPFと互換性のあるソースです。 SLコントロールをWPFコントロールとして再コンパイルできます。

おそらく、ブラウザでホストされていないclickonceが適しています。

XBAPを<!> quot; Silverlight for Windows only <!> quot;のようにすばやく削除することはできません。完全なWPFセットを使用するため、XBAPに課せられた部分信頼の制限内で作業する限り、WPFアプリとXBAPの両方に同じコードベースを使用することができます。

また、.NET 3.5の時点では、WCFは部分信頼の下でXBAPで動作します。完全に信頼できるWPFアプリほどではありませんが、それでも便利です。

<!> quot; MSI App <!> quot;をリストしました。 Windows Installerは、WindowsでプログラムをインストールおよびアップグレードするためのMicrosoftのテクノロジーです。作成するインストールパッケージには、<!> quot; .msi <!> quot;が含まれます。拡張。 (元々は<!> quot; Microsoft Installer <!> quot;と呼ばれていました。彼らはそれを<!> quot; Windows Installer <!> quot;に変更しましたが、拡張子はそのままにします。)インストールパッケージを作成します。パッケージは、さまざまなツール(InstallShield、WiX、Visual Studioなど)で作成できます。 WPFアプリに限定されません。これを使用して、ほぼすべての種類のアプリケーションをインストールできます。

Live Framework(Live Mesh vNext)で利用可能になったもう1つの展開オプションは、Mesh対応のWebアプリケーション(MEWA)です。これにより、Silverlight、DHTML、およびFlashアプリをパッケージ化して、Live Desktopでオンラインで実行したり、Windowsデスクトップでオンライン/オフラインで実行したりできます。 MEWAをメッシュにインストールし、メッシュ内のすべてのデバイスに自動的に展開させることができます。アプリの新しいバージョンがリリースされた場合、更新はすべてのデバイスにも同期できます。

Silverlight / DHTML / Flashに加えて、Live Frameworkの将来のバージョンは、おそらく同様の展開機能を備えたMSIおよびCABパッケージアプリをサポートするというヒントがあります。

メッシュ対応Webアプリのドキュメント: http://msdn.microsoft.com/en-us/library/dd199554。 aspx

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top