Моя команда.NET C# должна мигрировать на Windows Presentation Foundation? [закрытый]

15
задан casperOne 5 April 2012 в 13:07
поделиться

9 ответов

WPF, который UI легче разработать реализацию и поддержать, чем текущие альтернативы C#, поэтому если много Вашей кодовой базы ответственно за обработку UI, миграцию, может служить выгодный - в, Вы найдете, что Ваша команда сэкономит время имея дело с их уровнем UI. Если большая часть Вашего кода будет бизнес-логикой, то он не поможет всему так очень.

15
ответ дан 1 December 2019 в 00:08
поделиться

WPF:

  • все о графике!
  • разрешение независимая платформа (значение - WPF полностью принял понятие векторной графики - и также сделал масштабирование растрового изображения беспечным процессом)
  • , аппаратно ускорен!!!! Графика WPF аппаратно ускорена, если это возможно, до Direct3D - это не базирующийся GDI!
  • Не Имеет никакого Paint() функция - WPF основан на сохраненном графическом режиме / основанная на дереве система рисунка. Наконец!
  • Является очень графически динамичным - все может быть анимировано - и анимация встроена в платформу.Помните.... нет никакого Paint()!
  • чрезвычайно настраиваемо - хотя вхождение в основные элементы ControlTemplates состоит в том, где сложность начинается. Вы просто добавляете объекты к дереву дисплея и позволяете WPF волноваться об обновлениях.
  • очень богато текстовыми функциями рендеринга.
  • , надо надеяться, улучшает рабочий процесс разработчика/кодера с использованием декларативного языка ( XAML) для графических определений и сложного программного обеспечения дизайна GUI ( Смешение Выражения ). Хотя важно понять, что что-либо, что может быть сделано декларативным способом, может также быть выполнено в коде. И это также спорно, что сложность WPF отпугнула многих разработчиков - но это поместило мощную платформу в руки кодеров.

WPF:

  • Не Windows Forms ++ - это - просто полностью другое понятие все-вместе
  • , Не Silverlight - Silverlight является подмножеством WPF. Вполне легкое подмножество.
  • Не MFC - хорошо, это должно быть очевидно
  • , не Является легко распространяемым с Windows XP - это - позор, и возможно один из его самых больших отказов
  • не Является XAML. Это различие должно быть понято. XAML дополнительный декларативный язык, который может использоваться в процессе разработки приложений WPF. Это - абсолютно не необходимый компонент, хотя когда-то понятый, это определенно улучшает рабочий процесс, дизайн и рефакторинг сложных графических платформ.
4
ответ дан 1 December 2019 в 00:08
поделиться

Я думаю, что ключевое слово от Вашего исходного вопроса "необычно". Если Ваши клиенты действительно ожидают много блеска в поставляемом компоненте, то у Вас, вероятно, есть что-то для получения от переключения до WPF.

0
ответ дан 1 December 2019 в 00:08
поделиться

WPF радикально отличается от Windows Forms. Это означает большое обучение Вашей команде.

2
ответ дан 1 December 2019 в 00:08
поделиться

Мы просто оборачиваем проект, в котором самостоятельно и 4 других разработал довольно успешное, распределенное корпоративное приложение. Мы начали использовать Win32 и затем переключились на WPF после первого повторения для удовлетворения требованиям нашего эксперта по удобству использования. Вот мой опыт.

WPF имеет некоторых действительно, действительно замечательные особенности. В целом это делает действительно твердые вещи тривиальными (такие как создание полей списков, которые показывают богатые данные презентации, такие как изображения, смешанные с таблицами, копией, и т.д.), но в свою очередь может сделать, "это раньше было так легко в Win32", крайне печальном. Я работал в WPF в течение 6 месяцев теперь, и я все еще нахожу привязку данных поля комбинированного списка к XML dataprovider страшным опытом.

, Поскольку я уклонился к вышеупомянутому, WPF имеет некоторое великое и привязку not-so-great. Я люблю, как можно связать с XML-документом или встроенным фрагментом с помощью XPath, но я ненавижу, как можно только использовать встроенные обязательные проверки, если привязка является двухсторонней (и я вдвойне ненавижу, как Вы не можете вынудить встроенные обязательные проверки пасовать назад ввод данных пользователем к объекту, даже если данные выходят за пределы диапазона некоторого бизнес-правила).

WPF имеет огромную кривую обучения. Это даже не кривая - это - стена. Это - грубое движение. Это - совершенно другой способ работать с презентацией Windows, и, для меня так или иначе, требовалось большое чтение и проигрывание, прежде чем я начал чувствовать себя несколько комфортно. Это не самая легкая вещь в мире, но это позволяет Вам делать некоторый невероятно мощный материал (например, В нашем проекте я создал механизм формы, который создает абсолютные формы XAML из XML использование приблизительно 300 строк XSLT - вместе с полной привязкой и проверкой).

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

, Если бы Вы решаете пойти путем WPF, я настоятельно рекомендовал бы эти 2 книги:

Удачи!

23
ответ дан 1 December 2019 в 00:08
поделиться

WPF является очень новым подходом к разработке UIs. Единственная проблема состоит в том, что это представляет большое количество понятий, некоторые из тех только для сокрытия подробности XAML (XML). Это также страдает немного от астронавт архитектуры подход к дизайну, но в целом я довольно доволен им. Это делает вещи, что Вы прежде сказали бы, что никакой путь к, во что-то, что управляемо, чтобы сделать.

0
ответ дан 1 December 2019 в 00:08
поделиться

Я не был уверен сначала, большинство приложений, казалось, было довольно отстающим (предоставленный, WinForms не является молнией быстро ни один). Это, кажется, фиксируется с.NET 3,5 SP1, где они интегрировали аппаратное ускорение для многих методов.

интегрированная анимация / раскадровка / векторные возможности очень хороши и шаг в правильное направление. Если Вы получите власть Смешения Выражения, то Вы сможете моделировать приложения довольно быстро. Это ясные преимущества, по-моему.

В конечном счете, я не думаю, WinForms и более старые методы являются устойчивым выбором.

существует также Adobe Flex, Adobe/Macromedia имеют опыт в более мощных и 'захватывающих' решениях GUI из-за их опыта с Flash.

я просто надеюсь, что мы не заканчиваем с 10 другими VM's, установленными на настольном компьютере только для выполнения всех тех различных платформ...

ре:

воображение, сообщая

причудливость является, вероятно, одними из преимуществ WPF...

0
ответ дан 1 December 2019 в 00:08
поделиться

WPF позволяет Вам сделать некоторые удивительные вещи, и я ЛЮБЛЮ его..., но я всегда чувствую себя обязанным квалифицировать мои рекомендации, каждый раз, когда разработчики спрашивают меня, думаю ли я, что они должны перемещаться в новую технологию.

Ваши желающие разработчики (предпочтительно, НЕТЕРПЕЛИВЫЙ) для проведения времени, которое требуется, чтобы учиться использовать WPF эффективно? Я никогда не думал бы для высказывания этого о MFC, или Windows Forms или даже неуправляемом DirectX, но Вы, вероятно, НЕ хотите команду, пытающуюся "взять" WPF в течение нормального dev. цикла для поставлющегося продукта!

Делают по крайней мере один или два из Ваших разработчиков имеют некоторую чувствительность дизайна и делают у людей с заключительными полномочиями дизайна есть достойное понимание вопросов развития, таким образом, можно усилить возможности WPF создать что-то, что на самом деле ЛУЧШЕ, вместо просто более "красочного", показывая бесплатную анимацию?

Делает некоторый процент Вашей целевой клиентской базы, работает на интегрированных наборах графического процессора, которые не могли бы поддерживать функции, которые Вы планировали - или они все еще выполняют Windows 2000, которые устранили бы их как клиентов в целом? Некоторые люди также спросили бы, заботятся ли Ваши клиенты на самом деле о расширенном зрительном ряде, но, пережив внутреннюю компанию "Наши корпоративные клиенты не заботятся о цветах и изображениях" о дебатах в начале 1990-х, я знаю, что хорошо разработанные решения от Ваших конкурентов ЗАСТАВЯТ их заботиться, и реальный вопрос состоит в том, являются ли условия правильными, чтобы позволить Вам предложить что-то, что заставит их заботиться ТЕПЕРЬ.

проект включает наземную разработку, по крайней мере, для уровня представления, для предотвращения дополнительной сложности попытки сцепиться в несовместимые леса прежней версии (Совместимость с Windows Forms НЕ является бесшовной)?

Ваш менеджер может принять (или быть отвлечен от того, чтобы замечать), значительное ПОНИЖЕНИЕ производительности разработчика в течение четырех - шести месяцев?

Эта последняя проблема происходит из-за того, о чем мне нравится думать как природа "FizzBin" WPF с десятью различными способами реализовать любую задачу и никакую очевидную причину предпочесть, чтобы один подход к другому и мало руководства, доступного, помогли Вам сделать выбор. Не только будет недостатки любого выбора, который Вы делаете, становятся ясными только намного позже в проекте, но у Вас, как фактически гарантируют, будет каждый разработчик на Вашем проекте, принимающем другой подход, приводящий к сильной головной боли обслуживания. Самый печальный из всех несоответствия, которые постоянно сбивают Вас с толку, поскольку Вы пытаетесь изучить платформу.

можно найти больше всесторонней WPF-связанной информации в записи на моем блоге:

http://missedmemo.com/blog/2008/09/13/WPFTheFizzBinAPI.aspx

12
ответ дан 1 December 2019 в 00:08
поделиться

WPF - это текущее «состояние искусства» в методологиях UI. Было бы доступно, поскольку люди учатся написать UIS (вместо GDI, Win32, а позже WinForms, которые относительно похожи), это не так много времени, чтобы узнать его. Возможно, вы можете подумать об этом, как переключение на клавиатуру DVORAK - самая сложная часть меняет ваше мышление о частях дизайна UI, который вы думаете, вы хорошо знаете.

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

  • имеют ссылки на страницы, которые рассказывают о том, что вам нужно установить для работы с WPF - если не упомянут смесь, то я бы не доверял этому.
  • Смотрите здесь «Начало работы» вопросов, поскольку у них, вероятно, будут иметь хорошие ответы от опытных людей.
  • Купи по крайней мере несколько хороших книг и позвольте людям брать их, если хотят.
0
ответ дан 1 December 2019 в 00:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: