4

Web とデスクトップの間を行き来できるような方法で WPF ( Silverlight ) アプリを構築すること (およびいくつかのガイダンス) は、どの程度実現可能ですか?

たぶん、いくつかのコンテキストが整っています。

私は非営利団体の孤独な開発者です。私は、ビジネス ルールや要件に対して絶え間ない修正や変更が加えられる、ライ​​フ サイクルが非常に長い社内アプリのみを開発しています。 たとえば、ここでの私の最初のプロジェクトは、既存のASP.net ( 2.0 ) アプリをwinformアプリに変換して、現場で切断して使用できるようにすることでした。

今、私が知っていること(または私が知っていると思うこと)だけを知っていれば、おそらくこれを尋ねる必要はないでしょうが、脱線します.

私は最近、Twin Cities Code Camp で Silverlight 3 と XAML の世界を紹介されました。プレゼンターの 1 人は、Silverlight と WPF を交換可能な UI コードを使用していました。

すぐに、Silverlight はサブセットであり、完全に交換可能ではないことがわかりました。とはいえ、考えさせられました。WPF を使用して winform からコア アプリを書き直した場合、実際には、XBAPを使用して、アプリをほとんど変更せずに、同一の UI とビジネス レイヤーで Web ベースおよび/またはデスクトップにすることができますか?

  • そのような柔軟性を可能にするために、どのような考慮が必要ですか?
  • 誰でも提供できるガイダンスソースはありますか?

補足として、すべてのアプリの 75% は、データ ストアとして中央 SQL Server を使用するCRUDアプリの何らかの形、形状、または形式のバリエーションです。

車輪を回すのにも役立つ次の記事を見つけました。HERE


編集

回答をいただき、本当に感謝しております。Silverlight の Out Of Browser 機能について、さらに詳しく調べていきたいと思います。

私の最初の質問は、UI を可能な限り「フリップ可能」にする方法でした。Out Of Browser はワンストップ ショップ アプリを許可する場合があることを理解していますが、それはさておき、XAML を使用すると、特定の方法で、Web アプリとデスクトップ アプリに同一の UI を再利用できますか?

接線上; Silverlight とある種のレプリケーションについて何か提供できる人はいますか?

4

3 に答える 3

6

アプリケーションを Silverlight で開発し、Out Of Browser (OOB) 機能を利用するのが最良の選択肢のように思えます。OOB 機能を使用すると、Silverlight アプリケーションをデスクトップにインストールして、オフライン モードで実行できるようになります。ビジネス アプリケーション テンプレートを含む.NET RIA サービスを利用して、CRUD タイプのアプリケーションを非常に迅速に作成できます。

このアプローチでは、SQL データベースの前に Web サービス レイヤーが必要です。しかし、それは関係なくそこにあるはずです。

オフライン モードのデータについては、分離ストレージを使用できます (Nate がコメントで述べたように)。そのトピックに関するいくつかのリンクを次に示します。

私の現在のプロジェクトでは、ルックアップ テーブルをオフライン モード用の分離ストレージにコレクションとしてキャッシュしています。ユーザーがオンラインになると、そのデータが更新されます。トランザクション データ (注文など) についてはキャッシュしませんが、ユーザーがオフラインで新しいデータを作成し、オンラインに戻ったときにシステムに追加できるようにします。現在、私たちにとってはうまく機能しています。

于 2009-11-05T19:58:27.923 に答える
4

ブラウザの Silverlight アプリを実際に見てみる必要があります。このブログ投稿を参照してください: http://wildermuth.com/2009/03/18/Enabling_Out-of-Browser_Support_in_Silverlight_3

これはまさにあなたが探しているものかもしれません。

注: 完全に信頼され、ユーザーのマシンに完全にアクセスできる WPF アプリケーションとは異なり、ブラウザー外の Silverlight アプリは、ブラウザー内の Silverlight アプリケーションのように完全にサンドボックス化されています。また、ブラウザー外の Silverlight アプリは、"切断された" 使用をサポートし、ネットワークの可用性を判断するための API を提供します。

于 2009-11-05T19:57:35.967 に答える
2

ときどき接続される Silverlight アプリは、書くのが面倒です。耐久性に優れたストレージは分離ストレージだけです。

XBAP と同じです。

アプリのクロス プラットフォーム サポートが必要ですか?

ClickOnce WPF アプリを作成して、サービス レイヤーへのライブ接続と非接続モードを切り替えられるように設定してみませんか?

マルチターゲットの WPF と SL は実行できますが、簡単ではありません。マルチターゲットをサポートするためのガイダンスと VS アドオンを含むPrismプロジェクトを確認してください。

于 2009-11-05T21:36:26.390 に答える