web-dev-qa-db-ja.com

WindowsフォームとWPF

Windows Formsアプリケーションを開発して5年になります。多くの人が、WPFを検討すべきだと言っています。どちらが最適かを判断するために、WPFとWindowsフォームについていくつか質問があります。 WPFはWindows Formsよりも新しいものであり、多くの人がWPFは未来になると言っています。他の人は、Windows Formsはより古く、そのためより安全だと言います。将来はどうなるのか分かりません。 Googleには長所と短所がありますが、これらの質問に対する回答を詳しく教えていただければ幸いです。

  1. パフォーマンスに基づいてどちらが良いですか?
  2. Windowsフォームの代わりにWPFを使用する最大の利点は何ですか?
  3. WPFの代わりにWindowsフォームを使用する最大の利点は何ですか?
  4. どちらが企業でより使用/好まれていますか?
  5. WindowsフォームからWPFに切り替えるのはどれくらい難しいですか?
  6. WPFのどの部分を間違いなく検討する必要がありますか?
25
  1. WPFがWindowsフォームより優れている、またはその逆であると言う意味はありません。それは多くの要因に依存します:

    • 構築しているUIの種類。明らかに、設計するビューの複雑さは、両方のプラットフォームでのパフォーマンスに影響します。レイアウトとレンダリングのパイプラインが異なります。

    • 各プラットフォームでパフォーマンスを最適化する方法。

  2. Windowsフォームの代わりにWPFを使用する利点:

    • XAMLを使用すると、GUIを簡単に作成および編集でき、デザイナー(XAML)とプログラマー(C#、VB.NETなど)の間で作業を分割できます。

    • WindowsアプリケーションとWebアプリケーション(Silverlight/XBAP)の両方のユーザーインターフェイスを作成できます。

    • データバインディング。これにより、データとレイアウトをよりクリーンに分離できます。

    • パフォーマンスを向上させるために、GUIの描画にハードウェアアクセラレーションを使用します。

  3. WPFの代わりにWindowsフォームを使用する主な利点:

    • WPFのインボックスコントロールスイートは、WinFormsのコントロールスイートよりもはるかに制限されています。

    • WinFormsのサードパーティの制御スペースでのサポートが強化されています。 (それは変化していますが、今のところ時間の都合により、WinFormsはコミュニティでより強力なサポートを提供しています。)

    • WPFの主な欠点は、Monoがクロスプラットフォームで実際にサポートしていないことです(たとえば、LinuxおよびMacでは動作しません)。当初、Xamarian/Novellaは、実装が複雑であるため、実装しないと述べました。反対のことは見ていません。そうではありませんが、モデルクラスを作成してから、OS固有のフロントエンドを実行することをお勧めします。 WPFがオープンソースであっても、簡単に移植できないものの上に構築される場合があります。

  4. https://social.msdn.Microsoft.com/Forums/en-US/e134134a-352f-435b-943a-eda7a2b14fc0/wpf-vs-windows-forms-2015?forum=wpf

  5. 学習能力に依存します。

  6. WPFのどの部分を間違いなく検討する必要がありますか?

    • [〜#〜] xaml [〜#〜]:XAMLおよびWPFアプリケーションでの使用方法について学習します。

    • Layout:レイアウトパネルと、それらがユーザーインターフェースを構築するためにどのように使用されるかについて学びます。

    • データバインディング:WPFデータバインディングの仕組みとその使用方法を学びます。

    • データテンプレートとトリガー:データテンプレートとトリガーの仕組みと使用方法を学びます。

    • スタイル:WPFでUIをスタイル設定する方法について説明します。

31
Litisqe Kumar