web-dev-qa-db-ja.com

WPFアプリとWinform for Businessアプリの利点は?

Asp.netとwinformの開発を知っています。私は、それが新しいからといって新しいテクノロジーに飛び込むタイプの開発者ではありません。生産性の向上などの追加のメリットが必要です。

純粋なビジネスアプリのWinformsに対するWPFの利点は何ですか?私は、WPFが提供する余分な目の保養、アニメーション、グラデーション、画像表示効果などには興味がありません。ビジネスアプリは、データ入力、データレポート、およびいくつかのグラフと写真の静的表示用です。

これらのアプリでWPFはどのように役立ちますか?より優れたリッチなデータバインディング? WinFormは成熟した実績のあるテクノロジであり、Visual StudioとWPF(VS&Blendファミリ)の複数のIDEのすべてを実行できるという事実が気に入っています。さらに、WPFには、対応するWinform(DataGridView..etc)のような豊富なデータバインディングコントロールがないと思います。知る限り、Microsoftは長年にわたってWinformsを引き続きサポートします。

私のような人に切り替えるよう説得してみてください。

84
Abdu

Asp.netとwinformの開発を知っています。私は、それが新しいからという理由だけで新しい技術に飛び込むタイプの開発者ではありません。生産性の向上などの追加のメリットが必要です。

私のチームにとって、WPFはWinFormsよりもはるかに高速でアプリケーションを開発できます。最近、32人日で中規模のアプリをリリースしました。チームの経験豊富なWPF開発者と、この技術を習得することに熱心な経験の浅い人たちという利点がありました。大きな士気があり、生産性は印象的でした。

WinFormは成熟した実績のあるテクノロジーであり、Visual StudioとWPF(VS&Blendファミリー)の複数のIDEのすべてを実行できるという事実が気に入っています。

自分をハンドコーダーと考えていますか、それともドラッグアンドドロップコーダーと考えていますか?自分自身をドラッグアンドドロッパーとみなす場合、現在のWPFツールはあなたには向かないかもしれません。 Visual Studio 2010を待つかもしれませんか?私はほとんど排他的にXAMLで作業しています。ほとんどのWPFユーザーは、これが現時点でWPFアプリケーションを作成する最も効果的な方法であることにおそらく同意するでしょう。しかし、その後、手作業でHTMLを作成するので、自然に感じます...

純粋なビジネスアプリのWinformsに対するWPFの利点は何ですか?私は、WPFが提供する余分な目の保養、アニメーション、グラデーション、画像表示効果などには興味がありません。

私は以前はこのように考えていましたが、最近、グラデーション、基本的なアニメーション、および効果を持つビジネスアプリケーションを開発しました。これらの派手な機能は、ユーザーエクスペリエンスを向上させるために追加されました。なぜビジネスアプリはBattleship Greyである必要があるのですか?なぜ使用できないのですか?確かに、ビジネスアプリを使用できるのは色、グラデーション、アニメーションではありませんが、これらの効果を使用するとユーザーエクスペリエンスが向上し、これが私にとって重要なことです。 WinFormsのWPFアプリで実行したことはすべて実行できましたが、もっと時間がかかりました。

より優れたリッチなデータバインディング?

データバインディングのサポートは本当に素晴らしいです。これは、プラットフォームで私の最も愛されている機能です。 この素晴らしいDatabinding Cheatsheet をご覧ください。

私のような人に切り替えるよう説得してみてください。

私は、他の誰かにWPFに切り替えるように説得するつもりはありません。私が「説得」しようとした開発者(すべての経験豊富なWinforms開発者)は、通常、プラットフォームに苦労しています。彼らはテクノロジーに投資していません。彼らは「理解」しません。開発者として自分に適しているかどうかを確認するために、テクノロジーをチェックすることをお勧めします。学習曲線は巨大です。書籍で学習する場合は、WPF書籍のミニレビューについて this SO post をご覧ください。ビデオで学習する場合は、 windowsclient.net WPF videos をご覧ください。例で学ぶ場合は、 this または this postをチェックしてください。 WinFormsについて知っていることはすべて忘れてください。 WPFはWinFormsよりもASPに近いようです。いくつかのサンプルアプリケーションを作成します。あなたとあなたのチームに効果があるかどうかを確認してください。

あなたはマルチスキル(asp.net/winformスキル)であるため、Silverlightと非常に密接に関連しているため、WPFのスキルアップの利点を理解するかもしれません。 Silverlightは、リッチクライアントアプリケーションとWebアプリケーションの間のギャップを埋めます。

個人的には、WPFは.NETフレームワークで利用できる最高のクライアントサイドテクノロジーであり、一般的に将来の作業のためにWinFormsで開発することは避けます。 YMMV

あなたの決断で頑張ってください。

100
Brad Leach

私はかなりのwinformsの経験があり、WPFで少しだけ遊んだことがありますが、私は売られています。

どうして?

  • より多くの柔軟性。 winformで非標準的なことをしたい場合は、痛みと苦痛が続きますが、WPFでは簡単です。

  • はるかに優れたデータバインディング

  • 開発が容易です(残念ながらしばらく時間がかかるコアの概念を理解したら)

10
Orion Edwards

投稿いただきありがとうございます。私の会社は、WinFormsに膨大な時間を費やしています。 32人日で中規模のアプリケーションをリリースすることは想像できません。私たちの認証期間は数ヶ月で、リリースサイクルは年に1回またはそれ以上です(可能な限りアジャイル開発哲学に近づいていますが)。これが開発するアプリケーションの性質です。

WPFを初めて使用したばかりで、ElementHostを使用することでWinFormsでWPFの利点を得ることができます。 WPF TextBoxを拡張してから、拡張クラスをWin Forms UserControlにラップし、そのWPFテキストボックスを使用するWinFormsアプリを作成しました。スペルチェックをサポートしています。

Microsoftがこのことを考えた(WinFormsでWPFをホストする、またはその逆)のを見て感銘を受けました。長期間にわたって移行できない限り、会社がWPFに移行するのを実際に見ることができないからです。 WinFormsに投資しすぎて、やり直すことができません。最近の経験で、最近の経験について他の開発者と話をして、彼らの考えが何であるかを見ることができます。 WPFは慣れるまでに時間がかかると思いますが、それは他のコメントと一致しているようです。

4
Wayne H

WPFを見始めたとき、私はそれを「ベクターグラフィックスを備えたWinforms」として扱い、すぐに学習崖の側面に走りました。 WinFormsからWPFに移行する適切な方法は、知っていることをすべて忘れて、ゼロから始めるために、手に入れることができるあらゆる麻薬を勇敢に服用することです。

しかし、真剣に-Model-View-ViewModelなどのパターンを使用すると、ずっときれいで簡単になります。詳しくは The Orbifold 、こちら Googleグループスレッド および Channel9

その後、ある時点でひらめきがあり、すべてのデータバインディングを開始します。コードビハインドは、InitializeComponent()の呼び出しにすぎません。

4
geofftnz

完全に重複しているわけではありませんが、新しいグラフィックスビット以外のWPFの利点については、この投稿が役立つことがあります。

内部ツール用のWPFまたはWinForms?

1
Andrew Grant

Stackoverflowでこの検索結果を確認して、多数の回答を取得してください。 https://stackoverflow.com/search?q=WPF+Winforms

0
Jobi Joy

デスクトップアプリでASP.NET/(Silverlight)ページから同じUI(XAML)を使用できると想像してください。あなたは一度だけそれを構築しますが、どちらかに配線します...それはWPF/XAMLの意図の1つです...私たちはまだ本当にそこにいますか?まだではありませんが、近づいています。

0
Webjedi