Я знаю asp.net и разработку winform. Я не из тех разработчиков, которые бросаются на новую технологию только потому, что она новая. Это должно дать мне дополнительные преимущества, такие как более высокая производительность.
Для моей команды WPF оказался намного быстрее, чем WinForms при разработке приложений. Недавно мы выпустили приложение среднего размера за 32 человеко-дня. У нас было преимущество в виде опытного разработчика WPF в команде и неопытных ребят, которые стремились изучить технологию. Был высокий моральный дух и впечатляющая производительность.
WinForm - это отработанная проверенная технология, и мне нравится тот факт, что я могу делать все в Visual Studio по сравнению с несколькими IDE для WPF (семейство VS и Blend).
Вы считаете себя программистом вручную или программистом с перетаскиванием? Если вы считаете себя перетягивателем, то текущие инструменты WPF могут вам не подходить. Может дождаться Visual Studio 2010? Я работаю почти исключительно в XAML. Большинство пользователей WPF, вероятно, согласятся, что на данный момент это наиболее эффективный способ создания приложений WPF. Но потом я также создаю свой HTML вручную, так что мне это кажется естественным ...
Каковы преимущества WPF перед Winforms для чисто бизнес-приложений? Меня не интересуют дополнительные леденцы, анимация, градиенты, эффекты отображения изображений и т.д., которые предоставляет WPF.
Раньше я так думал, но недавно я разработал бизнес-приложение, в котором есть градиенты, базовая анимация и эффекты. Эти необычные функции были добавлены для повышения удобства работы пользователей. Почему бизнес-приложения должны быть Battleship Grey? Почему они должны быть непригодными для использования? Конечно, не цвет, градиенты и анимация делают бизнес-приложение пригодным для использования, но использование этих эффектов может помочь пользователю, и это то, что для меня важно. Я мог бы сделать все, что делал в приложении WPF в WinForms - просто это заняло бы гораздо больше времени.
Лучше более богатая привязка данных?
Поддержка привязки данных действительно потрясающая. Это моя самая любимая функция платформы. Ознакомьтесь с этой замечательной шпаргалкой по привязке данных .
Попробуйте убедить кого-нибудь вроде меня переключиться.
Я решил, что не собираюсь никого убеждать перейти на WPF. Разработчики, которых я пытался «убедить» (все опытные разработчики Winforms), обычно боролись с платформой. Они не вкладываются в технологию. Они этого не «понимают». Я призываю людей проверить технологию, чтобы увидеть, подходит ли она им как разработчику. Кривая обучения огромна. Если вы учитесь по книгам, ознакомьтесь с этим сообщением SO, где вы найдете несколько мини-обзоров книг WPF. Если вы учитесь по видео, посмотрите видеоролики windowsclient.net WPF . Если вы узнаете, например, проверить это или этопосле. Забудьте все, что вы знаете о WinForms. WPF действительно кажется ближе к ASP, чем WinForms. Создайте несколько примеров приложений. Посмотрите, работает ли это для вас и вашей команды.
Поскольку вы обладаете разносторонними навыками (навыки asp.net/winform), вы можете увидеть преимущество повышения квалификации в WPF, поскольку оно очень тесно связано с Silverlight. Silverlight заполняет этот пробел между многофункциональными клиентскими приложениями и веб-приложениями.
Я лично считаю, что WPF - лучшая технология на стороне клиента, доступная для .NET framework, и обычно избегаю разработки в WinForms для будущей работы. YMMV
Удачи в вашем решении.