Почему я должен использовать WPF поверх Winforms? Какие-нибудь примеры WPF превосходят Winforms? - PullRequest
13 голосов
/ 18 декабря 2009

Есть похожий вопрос на WPF против Windows Forms , который содержит некоторую полезную информацию, но по своему личному опыту я не вижу причин использовать WPF поверх Winforms. Изначально с WPF было много разговоров о его многопоточной функциональности, но в использовании я не вижу никаких преимуществ.

У меня есть два приложения, которые делают одно и то же, одно в WPF и в Winforms. Приложение Winforms обескураживает приложение WPF с точки зрения производительности (в 10 раз) и выглядит так же хорошо.

Конечно, я более опытен в приложениях Winforms, чем WPF.

Ответы [ 5 ]

16 голосов
/ 18 декабря 2009

Здесь есть еще одна дискуссия на эту тему: Когда Windows Forms является правильным выбором по сравнению с WPF?

Приложение Winforms уносит WPF приложение прочь с точки зрения производительность (в 10 раз) и выглядит так же хорошо.

WPF - это больше, чем просто модная графика ... Я не дизайнер, черт возьми, я не чувствую цвета (до такой степени, что моя невеста решила Я больше не могу покупать собственную одежду) но я люблю WPF. Поддержка DataBinding, например, удивительна не говоря уже о том, как легко создать ItemTemplate для ListBox (помните, что нужно переопределить методы рисования в Windows Forms, чтобы получить 2 строки текста и изображение в элементе ListBox?)

Что касается производительности ... по моему опыту, улучшение можно заметить, только если вы используете Windows Vista / 7 с графическим процессором. (И, конечно, как вы пишете код).

Возможно, ошибкой со стороны Microsoft было то, что на рынке WPF написано о графике с розовыми слонами, хотя она делает гораздо больше. (Они сделали аналогичную ошибку с поспешным выпуском Silverlight 1, который, по моему мнению, они должны были пропустить все вместе).

4 голосов
/ 18 декабря 2009

WPF

  1. позволяет дизайнеру / непрограммисту улучшить внешний вид пользовательского интерфейса отдельно от кода. Дизайнеры могут использовать такие инструменты, как Expression Blend, чтобы сильно изменить внешний вид приложения.
  2. знания, необходимые для написания WPF, практически полностью переносимы для написания кода Silverlight, поэтому вы переходите одну кривую обучения для двух технологий
  3. активно и активно продвигается Microsoft и, вероятно, имеет больше перспектив, чем WinForms. WinForms пойдут по пути MFC раньше, чем WPF.

с другой стороны:

  1. кривая обучения для WPF тяжелее, чем для Winforms
  2. Поддержка дизайнеров отсутствует по сравнению с Winforms, хотя это может измениться в Visual Studio 2010
  3. текущая тенденция заключается в использовании View-ViewModel-Model для создания приложений: это дальнейшее изучение поверх инфраструктуры WPF, но оно того стоит, если вы собираетесь создавать что-то помимо простого пользовательского интерфейса

Если производительность (требования к скорости и ресурсам) является вашим критерием для хорошей платформы пользовательского интерфейса для Windows, то победителем станет приложение Win32. Вы выбираете другую технологию для того, что они могут предложить, и в конечном итоге WPF может предложить больше, чем WinForms.

2 голосов
/ 18 декабря 2009

Самая большая причина, чтобы пойти с WPF, не сладкое. Реальный выигрыш заключается в надежности, производительности и в том, что артистические типы могут изменять внешний вид вашего пользовательского интерфейса без участия инженеров.

1 голос
/ 18 декабря 2009

Самая большая проблема с WPF состоит в том, что набор инструментов хромает и кривая обучения огромна. Пока что уровень распространения WPF был очень низким, в основном из-за проблем, которые я только что упомянул. По словам Microsoft, WPF - это будущее, и они вложили в него большие средства. Infact следующая версия Visual Studio написана в WPF (http://www.onedotnetway.com/writing-visual-studio-2010-shell-in-wpf-reflects-confidence/)

Однако еще неизвестно, станет ли WPF когда-нибудь мейнстримом. Фреймворк потрясающий, и он может делать действительно классные вещи, в основном связанные с конфетами глаз. Microsoft называет это UX, но на простом английском языке это просто конфетка. Большинству приложений это не нужно.

0 голосов
/ 18 декабря 2009

WinForms и WPF - отличные фреймворки, вопрос в том, что лучше всего подходит для вашего приложения. Если вам нужен гибкий графический интерфейс с анимированными элементами управления и очень удобными стилями, или вы просто создаете очень графический пользовательский интерфейс, WPF очень подходит для такого рода приложений. Время от времени WinForms могут быть очень ограничивающими, потому что элементы управления - это то, чем они являются, вы можете создавать пользовательские элементы управления, чтобы добавлять вещи к ним, но изменение их внешнего вида может быть трудным, если у вас очень специфический взгляд.

Хорошим сравнением будет сравнение разницы между приложением WinForms и приложением silverlight. Silverlight и WPF имеют общую основу, и она поможет вам понять различия между ними.

Посмотрите на эту библиотеку silverlight и wpf, и вы увидите, что можно сделать в среде wpf.

Библиотека Silverlight: http://demos.telerik.com/silverlight/

Библиотека WPF: http://demos.telerik.com/wpf/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...