WPF или Windows Forms
Я играю с консольными приложениями C# около года, и я хочу перейти к созданию приложений GUI. Я никогда не занимался разработкой GUI, кроме основных приложений Java, но я хочу продолжать использовать C#. Должен ли я начать изучать Windows Forms или перейти прямо к WPF? Есть ли огромная разница? Строится ли WPF поверх Windows Forms или они совершенно разные?
4 ответов
Если вы только начинаете, прыгайте прямо в WPF.
Это позволит вам начать создавать богатые интерфейсы, используя разметку, чтобы определить свой интерфейс, не обучая вас возможным плохим привычкам (для WPF), которые вы узнаете из Windows Forms.
эти две совершенно разные технологии. Они предлагают некоторые уровни совместимости для обоих направлений, но кроме этого не имеют ничего общего. 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 будет для меня без проблем, если все, что вы хотите сделать, это изучить UI framework. Он превосходит Windows Forms во всех аспектах. Я просто хочу, чтобы индустрия программного обеспечения в целом адаптировала его в большем масштабе! (Хотя никто не пишет настольных приложений, т. к. у нас сеть.)
обе технологии имеют свои плюсы и минусы.
WPF лучше для кросс-платформенной разработки и создания "кричащих" GUI. Однако для этого требуется более новая .net framework, чем WinForms, и требуется совместимый с dx9 GPU или выше (который будет иметь большинство людей).
но это немного больше, чтобы создать интерфейс / подключить все события и т. д.
WinForms по-прежнему является мощной технологией, которая часто может быть разработана более быстрыми темпами, чем WPF однако, в конце концов,обе технологии могут быть использованы для достижения той же цели. однако WPF является "новым" стандартом.
приложения WinForms широко используются для разработки бизнес-приложений, в то время как в WPF часто используется для создания более конечных пользователей на основе битов программного обеспечения, приложений и т. д.
WPF предоставляет очень богатые возможности для создания чрезвычайно сложных пользовательских интерфейсов. Это упрощает интеграцию аппаратно-ускоренной графики в интерфейсе. Однако дизайнер Visual Studio WPF действительно плох (я почти никогда не использую его). Я также думаю, что WPF намного сложнее, и с этого сложнее начать. Но это, конечно, субъективно.