Переход от Winforms к WPF - PullRequest
       1

Переход от Winforms к WPF

4 голосов
/ 14 октября 2010

Я знаю, что может быть субъективным вопросом, но я хочу узнать ваш опыт и оценить, сколько времени потребуется программисту Winforms, чтобы переключиться на WPF и написать простое приложение.

Я начинаю создавать приложение для Windows, используя .Net Winforms.Поскольку клиент заботится об интерфейсе пользователя, я подумал, что наконец-то стоит перейти на WPF.
Я очень новичок в WPF и почти ничего о нем не знаю, кроме общих знаний.

Приложение является однопользовательским настольным приложением с SQL Server Express в качестве внутренней базы данных и будет использовать либо наборы данных со строгим набором данных, либо дозвуковой в качестве своего DAL.Будут использованы некоторые базовые элементы пользовательского интерфейса (Datagridviews, Textboxes, Buttons, ...).Как видите, это совсем не сложный проект.Вот почему я впервые подумал об использовании WPF для этого проекта.

Я не знаю, сколько времени понадобится разработчику Winforms, чтобы привыкнуть к WPF.
Как вы думаете, должен ли я начать этот проект с использованием WPF, учитывая его кривую обучения?
PS Проектдолжен быть готов через 2 месяца, и я быстро учусь.

Ответы [ 6 ]

4 голосов
/ 14 октября 2010

Есть две интересные вещи (для меня) о winforms против разработки WPF.

  • Поддержка и принятие подхода «Модель, представление, представление о модели» (MVVM) к разработке. Хотя в прошлом я использовал подходы MV *, концепция привязки данных, маршрутизируемых событий / команд и т. Д., Кажется, просто естественным образом подходит для шаблона MVVM. С моей точки зрения, это облегчает кодирование из-за разделения проблем.

  • Подход MVVM естественным образом отделяет ваш пользовательский интерфейс от ваших данных / бизнес-логики - однако WPF делает еще один шаг вперед и отделяет ваш пользовательский интерфейс от того, как он выглядит на самом деле. MSFT заявляет, что они считают, что дизайнеры должны быть дизайнерами, а разработчики - разработчиками, и что эти два набора навыков иногда смешиваются, но довольно редко. Таким образом, они проделали большую работу со стилевым подходом в WPF, который позволил разработчикам выпустить быстрый (некрасивый) пользовательский интерфейс, а затем передать его команде дизайнеров, которые его убирают и делают его красивым - все без влияния на основной код. (обсуждается на MIX '09)

Худшее, что я думаю, вы могли бы сделать, это попытаться внедрить в разработку WPF подход с выделенным кодом winforms. Во-первых, потому что большинство (недавних) материалов, которые вы прочтете, ориентированы на шаблон MVVM, а во-вторых, потому что вы обнаружите, что разработка и сопровождение ваших приложений на порядок проще в модели MVVM.

4 голосов
/ 14 октября 2010

Вы можете легко и быстро написать код, подобный WinForms (обработчики событий, код и т. Д.), Используя WPF, и он будет работать просто отлично.Но это не совсем «путь WPF» и ограничит вашу гибкость в будущем.

3 голосов
/ 14 октября 2010

Как сказал Дэн, используйте Canvas, и вы довольно близки к winforms, но это отстой. РЕДАКТИРОВАТЬ: Прежде чем я забуду, не ожидайте, что DataGrid будет что-то вроде Winforms DataGrid. Я склонен использовать ListView (с макетом GridView), чтобы заменить его в простых случаях.

Получите хорошую (т.е. практически ориентированную) книгу для крутой кривой обучения. Я рекомендую книгу Адама Натана, в которой вы узнаете о важных концепциях в скором времени.

2 голосов
/ 14 октября 2010

Многие считают, что это довольно гигантский скачок. Оценить, сколько времени это займет, сложно, так как это зависит от того, откуда вы приехали. Вы могли бы извлечь выгоду из чтения сообщений в блоге Скотта Хансельмана о его опыте, когда он изучал WPF. Он проходит через процесс разработки от начала до конца, и конечный результат ( Baby Smash! ) доступен для скачивания.

2 голосов
/ 14 октября 2010

хорошее сравнение о WPF против Winforms ...

WPF против Windows Forms

2 голосов
/ 14 октября 2010

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

В целом, я бы сказал, что если приложение не слишком сложное, вы должны изучить многоматериал в течение недели и должен быть очень хорош в WPF, когда ваш проект будет завершен через 2 месяца.

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