WPF или Windows Forms


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

4 66

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

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

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

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

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

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

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