2

次のようなテーマを扱った、このテーマに関する良い本やウェブサイトはありますか?

  • さまざまな移行シナリオ (ビッグバン、モジュールごとのモジュール、関数ごとの関数) の長所と短所
  • すべきこととすべきでないこと
  • ツーリング
  • 顧客の期待に対処する

かなり大規模な winforms ベースの製品を Web に移行したいと考えています。「ビッグバン」シナリオでの移行には、おそらく少なくとも 2 年はかかるでしょう。代替シナリオを探しています。私は特に、中間のシナリオを処理する方法、顧客を満足させるためにどのようなオプションが必要かを探しています.

  • Windows アプリケーションを新しい Web アプリケーションと同時に使用できるようにしますか?
  • Windows アプリケーションがサービス インターフェイスを介して Web アプリケーションの新機能を使用できるようにしますか?
  • 顧客を満足させ続けるために、しばらくの間、二重の保守費用を受け入れますか?
4

2 に答える 2

5

完全な書き直しを行っている可能性が高くなります。Web は Windows フォームとは概念的に異なるため、多くの変更が必要になります。

あなたの最善の策は、Windowsフォームアプリでの新しい開発を止めることです. 新機能用の新しいアプリの作成を開始します。次に、分離されたフィーチャを 1 つずつ Web に移行します。

UI には 2 つのオプションがあります

  1. webforms - Windows フォーム モデルと密接に一致します。devexpress などのサードパーティ コントロールを使用している場合は、ウェブフォームで同等のものを見つけることができます。

  2. mvc - プレゼンテーション レイヤー全体を再構築するようなものです。UI レイヤーが既にビジネス レイヤーから分離されている場合は、MVC への道を進むのが適切な選択です。ただし、開発エクスペリエンスは、Windows フォームを使用する場合とはまったく異なります。

  • アプリケーションの状態を維持することは、Windows フォームでは比較的簡単です。Webフォームでは、それを行うビューステートがあります。しかし、特にビューステートが大きくなりすぎると、ビューステートの制限に遭遇すると、失礼なショックに遭遇することになります.
  • MVC では、状態を維持する責任はすべてユーザーにあります。

新しい技術

ステートフルなシナリオを模倣するには、新しいスキルが必要です

  • JavaScript、ajax、jquery などの少なくとも 1 つの JavaScript フレームワークに関する深い理解。サードパーティ製の商用ツール キットを使用すると、これらの問題の一部を軽減できます。
  • 複雑さによっては、Backbone.js /Knockout などの Web アプリケーション フレームワークが必要になる場合があります

期待

複数のテクノロジーをいじることになるため、Windows アプリと同じ応答性を実現するには非常にコストがかかります。おそらく、ユーザーは最初は新しいアプリを嫌うでしょう。スタッフに熟練したWebデザイナーがいることは非常に重要です

于 2012-01-22T12:57:02.083 に答える
4

アプリケーションをデスクトップから Web に移行した私たち自身の経験に基づいて: winform アプリケーションのアーキテクチャを慎重に検査し、可能であれば、サービスまたは永続レベルで Web インターフェイスを提供して、Windows アプリケーションが Web サービスと直接対話する代わりに Web サービスを使用するようにしてください。データベース。次に、ユーザーが clickonce を使用してアプリケーション サーバーからデスクトップ モジュールを起動できるようにします。

このようなアプローチにより、Web にすばやく移行でき、ユーザーは同じ GUI とアプリケーションにアクセスするための新しい方法を手に入れることができました。実際、Web サービスを使用するように既存のアプリケーションを再設計するのに 3 ~ 4 か月かかりました。

その後、モジュールを 1 つずつ置き換え、それらを Web アプリケーションとして実装し、両方 (clickonce と Web) を短期間維持して、ユーザーが新しいモジュールに慣れられるようにしました。

clickonce から Web への一連のモジュールの移行は、明らかな方法で優先されました。ほとんどのユーザーが使用するモジュールから開始しました。実際、システムの最初のリリースでは、Web フォーム モジュールが 1 つしか準備できておらず、残りのモジュールは 2 年以上にわたって 1 つずつ置き換えられています。

于 2012-01-22T12:47:17.777 に答える