Я прочитал большинство основных тем, посвященных WPF и WinForms, и обнаружил, что застрял в неудачной амбивалентности, с которой вы можете столкнуться при выборе между проверенной и настоящей предыдущей технологией (Winforms) и ее преемником (WPF).
Я многолетний программист на Delphi, который, наконец, делает прыжок на C #. Мои коллеги-программисты на Delphi поймут, что мне очень приятно узнать, что Андерс Хейлсберг, известный в Delphi, был архитектором C #. У меня сильная зависимость от пользовательских компонентов VCL Delphi, особенно тех, которые участвуют в создании многошаговых мастеров и компонентов, которые действуют как контейнер для дочерних компонентов.
Исходя из этого, я надеюсь, что те из вас, кто перешел с Delphi на C #, могут помочь мне с решением WinForms vs. WPF для написания моих первоначальных приложений. Обратите внимание, я очень нетерпелив, когда кодирование и такие вещи, как полноценное автоматическое заполнение и правильная поддержка отладчика, могут создать или разрушить проект для меня, включая возможность находить легкодоступную информацию о функциях и вызовах API и, тем более, обходные пути для ошибок. ,
Потоки SO и комментарии в начале 2009 года вызывают у меня большую озабоченность по поводу WPF, когда дело доходит до потенциальных разочарований, которые могут испортить мой код разработки на C # UI. С другой стороны, тратить слишком много времени на изучение технологии API, которая, даже если она не будет заброшена, скоро будет заменена (WinForms), также вызывает беспокойство, и я действительно нахожу поддержку GPU в WPF.
Отсюда и моя двойственность. Так как я еще не изучил ни одну технологию, у меня есть редкая возможность начать все сначала, и мне не нужно сталкиваться с большой кривой «отученности», которую я видел, как люди упоминали в различных потоках, когда программист WinForms переходит на WPF. С другой стороны, если использование WPF будет слишком неприятным или будет иметь другие серьезные негативные последствия для нетерпеливого разработчика RAD, такого как я, я просто буду придерживаться WinForms, пока WPF не достигнет того же уровня поддержки и простоты использования. Чтобы дать вам конкретный пример моей психологии как программиста, я использовал VB и впоследствии Delphi, чтобы полностью избежать реальной боли в кодировании с помощью MFC, библиотеки пользовательского интерфейса Windows, с которой многие разработчики столкнулись при разработке ранних приложений для Windows. Я никогда не сожалел о своей удаче избежать MFC.
Также было бы приятно узнать, приложил ли Андерс Хейлсберг руку к архитектуре WPF и / или WinForms и есть ли какие-либо различия в креативном видении и простоте использования, воплощенных в любой кодовой базе. Наконец, снова для программистов на Delphi, дайте мне знать, сколько "IDE schock" я испытываю при использовании WPF, в отличие от WinForms, особенно когда речь идет о поддержке отладчика. Любые комментарии рынка труда, обновленные за 2011 год, также будут оценены.