2009-11-16 1 views
9

Я подумываю переключиться с MFC на WPF.Переключение на WPF. Это время?

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

Моей второй проблемой является скорость.

Любые другие соображения?

+7

Значит, бог солнца использует Windows? Интересно ... ;-) –

ответ

10

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

Я бы сказал, начинайте сейчас. Кривая обучения WPF ДЕЙСТВИТЕЛЬНО крутая, и наступит время, прежде чем вы будете выпускать программное обеспечение для пользователей, поверьте мне. Также сделайте себе одолжение и получите WPF Unleashed книга. Это превосходно.

Скорость не является предметом рассмотрения. Power WPF дает неплохие недостатки со скоростью, которые - из Windows Forms - я не заметил, чтобы быть честным.

7

Какое приложение вы разрабатываете? Если это широко распространенное настольное приложение, которое вы хотите установить своей бабушкой, ваша озабоченность по поводу внедрения .NET 3.0/3.5 действительна. Пока что я не видел, производительность меньше беспокоит.

+3

Обратите внимание, что Silverlight намного моложе WPF и не установлен на Vista, поэтому его номера проникновения будут намного ниже, чем WPF. Если вы отправляете компакт-диск, вы можете включить последнюю версию NET Framework и установить ее автоматически. Если вы загружаете, вы можете легко интегрировать процесс обновления Windows в свою процедуру установки. В любом случае вашей бабушке не нужно делать никаких дополнительных шагов, потому что вы использовали WPF. –

+0

@Ray Как вы можете интегрировать процесс Windows Update в свою процедуру установки? –

+0

@ Ray True - сайт риастатов не так хорош, как я думал. –

7

WPF проникновения

Прежде всего, Windows Vista,   и Windows 7 оба имеют WPF предустановленным, на долю которого приходится 35% of the market автоматически. Windows   У XP это было, так как в течение трех лет у него была .NET Framework 3.0 в качестве опции в Центре обновления Windows, и многие приложения поставляются с ней, поэтому она также может быть установлена ​​на высокий процент компьютеров Windows   XP. StatOwl указывает, что about 80% установок NET Framework версии 3 или выше.

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

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

Скорость

Не проблема. У меня есть 200   МГц Pentium Pro с 384   МБ ОЗУ с 1998 года, на который я тестирую свое программное обеспечение, и мои приложения WPF имеют сопоставимую производительность с эквивалентными приложениями MFC. Если ваше приложение WPF использует много фантазийной графики и анимации, оно будет медленно запускаться на древних процессорах и графических картах, но так же будет использоваться обычное приложение MFC с теми же функциями.

3

Даже не пытайтесь использовать WPF, если вы придерживаетесь Visual Studio 2008 на следующий год или два. Опыт будет слишком болезненным.Я говорю о том, что «мой IDE рухнул снова».

Если вы собираетесь использовать VS 2010 в ближайшем будущем, то WPF - это взрыв. Загрузите бета-версию, пару тем с CodePlex, начинают играть. Как только вы пройдете мимо (огромной) кривой обучения, я думаю, вы найдете ее довольно приятной.

3

IMHO, вы должны дождаться Visual   Studio   2010 и WPF 4.0 для фактической миграции. Они закроют некоторые очень раздражающие пробелы в продукте.

Между тем, вы можете попробовать. С точки зрения кодирования/удобочитаемости - это будет WAAAY лучше, чем с MFC =)

Что касается производительности и платформы - это не должно быть проблемой, если у вас нет особых особых обстоятельств (например, если вы можете 't требуется, чтобы пользователи установили .NET).

Также см. Это related question on switching to WPF from Windows Forms.

0

Если вы думаете о более крупном модульном применении, я рекомендую проверить Prism. Это немного зверь, но вы сможете справиться с ним после того, как вы справитесь с C#, Dependency Properties и XAML. Кроме того, изучение Prism дало мне гораздо лучшее понимание WPF/Silverlight, по крайней мере, со стороны разработки/привязки.

Майк Таути опубликовал отличную 10-секционную видео-серию о Призме. Это отличный способ завести голову вокруг платформы.

Я также порекомендую страницы, на которые ссылается страница Getting Started на codeplex. В конце концов, вы, вероятно, готовы заняться реализацией Reference, которая поставляется с загрузкой.

A previous answer of mine также может помочь устранить любую оставшуюся путаницу вокруг контроллеров/презентаторов в рамках, которые у вас могут быть (я сделал).