WPF или Windows Forms - PullRequest
       10

WPF или Windows Forms

73 голосов
/ 21 апреля 2010

Я около года играю с консольными приложениями C # и хочу перейти к созданию приложений с графическим интерфейсом. Я никогда не занимался разработкой GUI, кроме базовых Java-приложений, но я хочу продолжать использовать C #. Должен ли я начать изучать Windows Forms или сразу перейти к WPF? Есть ли огромная разница? WPF строится поверх Windows Forms или они совершенно разные?

Ответы [ 4 ]

71 голосов
/ 21 апреля 2010

Если вы только начинаете, прыгайте прямо в WPF.

Это позволит вам начать создавать расширенные интерфейсы, используя разметку, чтобы определить свой интерфейс, не обучая вас возможным вредным привычкам (для WPF), которым вы научитесь из Windows Forms.

22 голосов
/ 21 апреля 2010

Это две совершенно разные технологии. Они предлагают некоторые уровни взаимодействия в обоих направлениях, но кроме этого не имеют ничего общего. Windows Forms - более или менее легкая оболочка поверх Win32 / MFC , что означает, что ее расширяемость в .NET не так уж хороша во всех случаях. WPF - это новая структура пользовательского интерфейса, реализованная с нуля. WPF также гораздо более гибок в настройке существующих типов.

Однако, по крайней мере из моего опыта, Windows Forms, похоже, является наиболее широко используемой инфраструктурой пользовательского интерфейса для настольных компьютеров в отрасли. Windows Forms нельзя использовать для веб-разработки, хотя WPF предлагает приложения Silverlight и XBAP.

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

Несмотря на то, что я высказал некоторые соображения в пользу Windows Forms, выбор WPF вместо Windows Forms был бы для меня легким делом, если все, что вы хотите сделать, - это изучить структуру пользовательского интерфейса. Он превосходит Windows Forms во всех аспектах. Я просто хотел бы, чтобы индустрия программного обеспечения в целом адаптировала его в более широком масштабе! (Хотя больше никто не пишет настольные приложения, так как у нас есть сеть.)

9 голосов
/ 30 ноября 2017

Обе технологии имеют свои плюсы и минусы.

WPF лучше подходит для кроссплатформенной разработки и создания «ярких» графических интерфейсов. Однако для этого требуется более новая платформа .net, чем WinForms, и требуется графический процессор, совместимый с dx9 или выше (что будет у большинства людей).

Но немного сложнее создать интерфейс / подключить все события и т. Д.

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

WinForms обычно используется для разработки бизнес-приложений, в то время как WPF часто используется для создания дополнительных программных компонентов, приложений и т. Д. Для конечных пользователей

4 голосов
/ 21 апреля 2010

WPF предоставляет очень богатые возможности для создания чрезвычайно сложных пользовательских интерфейсов.Это упрощает интеграцию графики с аппаратным ускорением в ваш интерфейс.Тем не менее, дизайнер Visual Studio WPF действительно плох (я почти никогда не использую его).Я также думаю, что WPF намного сложнее, и с него труднее начинать.Но это, конечно, субъективно.

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