WPF, Windows Forms или что-то еще?

Мы собираемся приступить к разработке нового продукта. Наш текущий продукт представляет собой обычное клиентское приложение Windows Forms, написанное с использованием VB.NET.

Готово ли WPF для бизнес-приложения? Из того, что я видел, кажется, что сложнее разработать пользовательский интерфейс с WPF, чем с Windows Forms. Но я полагаю, что скорость приходит с опытом. Я немного обеспокоен тем, что WPF, возможно, не поймает.

Должны ли мы оставаться с Windows Forms? Если мы останемся с Windows Forms, будем ли мы относиться к устареванию прямо из коробки? Я думаю, что было бы быстрее выйти на рынок, но будет ли Windows Forms еще через пять лет?

Должны ли мы перейти от продуктов Microsoft? Все наши разработчики - разработчики .NET, поэтому переход на другую среду разработки не может быть и речи.

Хотел бы я иметь хрустальный шар.

Ответ 1

Мы сделали решительный шаг и полностью создали наш последний пакет для электронной коммерции в WPF (за исключением сообщений, которые мы перекликаем с использованием ReportViewer). У меня не было ни одного дня сожаления. Декларативный подход WPF легко понять для всех, и это помогает обеспечить разделение пользовательского интерфейса от бизнес-логики.

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

Если это не проблема, попробуйте WPF и, возможно, вы зацепитесь.

Ответ 2

  • WPF используется в нескольких последних приложениях MS, включая Visual Studio 2010, поэтому я считаю, что это "безопасно" для использования в вашем собственном приложении. Скорость разработки, конечно же, связана с вашим знакомством с инструментами и их функциями.

  • Windows Forms, безусловно, будет продолжаться через пять лет.

  • Если вы создаете продукт, предназначенный для работы на рабочем столе Windows, вам будет трудно найти что-либо лучше, чем .NET, особенно учитывая то, что вы уже знаете. Если вы думаете, что когда-нибудь захотите порт Mac или Linux, вы можете рассмотреть альтернативу. Даже тогда, при Mono постоянно улучшается и нет немедленных планов для такого порта,.NET выглядит довольно хорошо.

Ответ 3

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

Просто привыкнуть к идее, что вы должны писать XAML вручную, а не использовать визуальный дизайнер. Дизайнер XAML, встроенный в Visual Studio 2008, является нежелательным, Expression Blend лучше, но он очень ориентирован на дизайнеры.

Ответ 4

В моем выборе платформы (Windows Forms или WPF) моя основная проблема заключалась в том, чтобы установить приложение на ПК наших клиентов.

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

Итак, я выбрал для .NET 2.0 и Windows Forms, потому что это будет предустановлено на 90% всех ПК, на которых я должен установить.

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

Ответ 5

@GvS: Это довольно спорный вопрос, так как я почти уверен, что 3,0/3,5 было автоматическое обновление в течение некоторого времени. Однако следует отметить, что WPF не поддерживается в Windows 2000.

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