2009-06-08 2 views
7

Есть много вопросов о WPF vs Winfoms и преимуществах перехода на wpf, однако у меня есть более конкретный вопрос, который, вероятно, субъективен, но определенно поможет мне оправдать использование WPF.Как подать хороший бизнес-пример для WPF?

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

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

Любые примеры улучшения элементов управления пользовательского интерфейса и т. Д. Помогут.

Спасибо.

ответ

7

Самое большое деловое преимущество WPF над WinForms, как я вижу, это массовое увеличение в тестируемости. Из-за вездесущей поддержки Data Binding в WPF шаблоны, подобные Model-View-ViewModel, становятся тривиальными для реализации и позволяют подавляющее большинство логики взаимодействия приложения выделяться в классы ViewModel, которые, будучи Plain-Old-Clr-Objects, намного проще для проверки, чем элементы управления WinForms.

Вторым преимуществом является использование композиционных возможностей «виджетов» в WPF. Customizing the look and feel of items in a ListBox или ComboBox с использованием Data Templates, например, является cinch по сравнению с пользовательским рисунком, который должен иметь место в WinFroms. Таким образом, WPF упрощает создание приложений с высоким удобством использования по сравнению с WinForms.

В-третьих, Контрольные модели и графические интерфейсы - это значительное улучшение для WinForms. Когда мне захотелось создать элемент управления Custom Chart, с поддержкой рендеринга нескольких сотен сериалов, мне потребовалось всего пару дней, чтобы это сделать - я помню, что в WinForms было несколько недель.В качестве еще одного примера, у меня есть blogged о том, как легко начать с создания настраиваемого элемента управления Gantt в WPF.

5

Ну, если вы просто должны убедить руководство в преимуществах WPF, просто бросьте им пару фанковых видео на YouTube. Особенно мне нравятся this и this. :)

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

+0

Спасибо за ссылки, хотя, как я говорю, наши пользователи не беспокоили (на данный момент), есть ли у них что-то удивительно кричащее или простое приложение winforms. В конце концов, мы можем дойти до этого (кто знает), но на данный момент это просто убеждает их. – HAdes

4

Чтобы повторить то, что упоминал Кенсай, WPF делает разделение пользовательского интерфейса и бизнес-логики намного проще.

Таким образом, можно построить аргумент по следующим направлениям:

  1. переписывания существующих приложений с помощью WPF заставит нас отделить бизнес-логику от логики пользовательского интерфейса.
  2. Отделив бизнес-логику, мы можем теперь повторно использовать это по-новому. приложения для интрасети, мобильные приложения и т. д. - без необходимости изобретать колесо.
  3. Когда приходит следующая «большая вещь», мы можем быстро разработать приложения для этого.

Существует еще один аргумент в отношении того, как современный, хорошо спроектированный пользовательский интерфейс улучшит производительность ваших пользователей.

2

Из опыта Xaml делает создание и обслуживание пользовательского интерфейса (особенно для сложных пользовательских интерфейсов) феноменально проще, чем WinForms. Улучшения в привязке данных также существенны: они не только делают ваши приложения более проверенными, как упоминалось другими, но и ускоряют время разработки. WPF также включает поддержку XPS, поэтому, если ваша компания планирует любую функцию «печать в PDF», вы можете сказать им, что получите это бесплатно. Кроме того, WPF «более популярен», чем WinForms, поэтому вы найдете больше бесплатных элементов управления и новый, соответствующий примерный код для WPF, который экономит ваше время. Наконец, WinForms никуда не денется. Технология, вероятно, будет полностью поддерживаться MS в течение длительного времени, но WPF, очевидно, является их «любимой» технологией для новой разработки и получит лучшую поддержку инструментария. Вы также можете утверждать, что инструмент Expression Blend значительно увеличивает время разработки пользовательского интерфейса и дает вам возможность разгрузить работу пользовательского интерфейса специалисту или специалисту по пользовательскому интерфейсу.

2
  1. После того, как вы узнаете «путь WPF» построение полнофункциональной сложного пользовательского интерфейса в XAML быстрее, чем WinForms (из-за больших связывания данных поддержки, возможность создавать управляет автоматическим раскладку и больше).

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

  3. Очевидно, что WPF получает больше внимания от MS и развивается быстрее, чем WinForms (см., Например, VS2010).

Но с другой стороны

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

WPF работает только с Windows XP с пакетом обновления 2 (SP2) или более поздней версии, это не является ограничением для коммерческого применения, поскольку любой, кто приобрел программное обеспечение, обновился до XP лет назад, но может быть проблемой в среде сотрудничества, если у вас все еще есть машины Win2K.

0

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

Также WPF делает его легче провести старые WinForms или наоборот (хозяйничать WPF в WinForms), что, как мы сделали частичную/поставил миграции

Смежные вопросы