WPF, Windows Forms или что-то еще? - PullRequest
14 голосов
/ 02 февраля 2009

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

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

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

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

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

Ответы [ 5 ]

14 голосов
/ 02 февраля 2009

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

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

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

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

  2. Windows Forms определенно будет через пять лет.

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

3 голосов
/ 03 февраля 2009

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

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

1 голос
/ 02 февраля 2009

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

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

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

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

0 голосов
/ 02 февраля 2009

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

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

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