Должен ли я использовать WPF или Winforms для создания моего нового настольного приложения Windows? - PullRequest
2 голосов
/ 01 марта 2010

Есть плюсы и минусы для обоих подходов. Но с точки зрения менеджеров, что является лучшим подходом?

Ответы [ 6 ]

2 голосов
/ 01 марта 2010

Нет простого ответа на это. Стратегия Microsoft заключается в том, чтобы WPF стала платформой, и WinForms со временем начнут получать все меньше и меньше внимания. Тем не менее, WinForms - все еще очень большая платформа разработки; вы найдете больше сторонних компонентов для WinForms, чем для WPF (хотя эта пропасть явно закрывается) и больше примеров в Интернете. Вы также найдете больше разработчиков WinForms на рынке труда.

Разница действительно сводится к тому, что вы делаете. Что это за проект?

1 голос
/ 02 марта 2010

Если вы игнорируете кривую обучения (что немного похоже на вопрос Гарри Уиттингтона: «Не берите в голову, как охота на перепелов?»), Преимущества WPF перед Windows Forms практически на каждом уровне огромны. Даже если вы игнорируете такие вещи, как независимость от разрешения, мультимедиа и анимация, и просто сосредотачиваетесь на создании форм, чтобы пользователи могли вводить данные в них.

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

Рассмотрим довольно простую и распространенную возможность пользовательского интерфейса: область окна ввода, содержимое которой зависит от типа объекта, выбранного пользователем в другой части окна. Это интересный вызов в Windows Forms. В WPF это часто можно сделать вообще без написания процедурного кода (по крайней мере, после того, как вы построили правильную модель представления).

1 голос
/ 01 марта 2010

С точки зрения менеджера, это не имеет значения, по крайней мере, так, как вы, кажется, задаете вопрос. Менеджер не пишет код и обычно не должен устанавливать требования. Ответ на вопрос: «Что наиболее эффективно отвечает требованиям бизнеса», и это не простой вопрос.

Итак, действительно, менеджер должен запросить техническую обратную связь от команды, которая собирается внедрить программное обеспечение . Они дадут ответ, основываясь на своем понимании бизнес-требований, своих собственных навыков и любых ранее существовавших активов, которые они должны поддерживать / интегрировать на своем пути.

Важно помнить, что с такими вопросами разные команды / отдельные лица будут давать разные ответы, даже если им будут даны одинаковые требования. Это не значит, что либо неправильно!

1 голос
/ 01 марта 2010

Следует учитывать, что Mono в настоящее время не планирует поддержку WPF. Похоже, их планы заключаются в поддержке только подмножества, предлагаемого Silverlight в Moonlight. Поскольку Moonlight сначала нацелился на настольный компьютер, а Silverlight последовал за ним, возможно, Silverlight - это то, что вам нужно, если у вас нет какой-то конкретной функции, требующей высокопроизводительных функций WPF.

1 голос
/ 01 марта 2010

ИМХО Я думаю, что это похоже на VB6, когда был выпущен .NET 1.0. Со временем ... самые талантливые программисты (и даже самые дорогие тоже) перейдут на WPF. И только менее талантливые останутся в windows.forms ... но это займет время.

В моей работе мы должны поддерживать и старое приложение COM + ASp3.0 с 2002-2004. Я хотел бы, чтобы это было в .NET 1.0 по крайней мере.

Код, разработанный в WPF, будет легче поддерживать в будущем, чем код windows.forms. Но, как говорит Адам, это зависит от типа проекта.

1 голос
/ 01 марта 2010

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

Кроме того, если ваше приложение предназначено для управления данными, регистрации клиентов, ... вы можете придерживатьсяWinForms на данный момент.Если вы придерживаетесь Model-View-Controller, вы можете легко изменить свое представление позже, если это необходимо или желательно.

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