Страницы

Поиск по вопросам

вторник, 9 октября 2018 г.

Почему все пишут приложения на WinForms если WPF лучше? [закрыт]

Очень часто на этом форуме встречаются вопросы которые начинаются таким образом
Я пишу приложение на WinForms. [...]
Я лично пробовал писать на Win Form и на WPF, и, как мне показалось, WPF более точный, более красивый в плане дизайна UI элементов. К тому же, в комплекте в WPF идёт замечательнейший язык Xaml, с которым работать намного легче чем с C# кодом внутри WinForms.
В связи с этим и задаюсь вопросом: какие преимущества есть у Win Form перед WPF и почему многие пишут на Win Form, хотя у них устарелый дизайн и они не поддерживаются?


Ответ

У WPF и правда масса преимуществ перед WinForms. Особенно серьёзным преимуществом я бы назвал понятие привязки (Binding) и DataContext, которые радикально облегчают написание правильно структурированных программ, в которых представление отделено от модели, бизнес-логики и контента.
(Не то, чтобы на WinForms невозможно было писать правильно, это намного сложнее, и требует ручной работы.)
Но следствием этого и обратной стороной является гораздо более высокая сложность WPF как фреймворка, намного более высокий порог вхождения в WPF и в правильные методики программирования на нём. Ведь сила WPF проявляется именно когда вы начинаете отделять контент от представления, без этого он ненамного лучше WinForms.
Тем, у кого есть опыт программирования на MFC или похожих UI-фреймворках, намного легче перейти на практически аналогичный WinForms, чем учить новые (хотя бы и более удобные и продуктивные) концепции, которые помогают лёгкому, удобному программированию на WPF.
Думаю, именно это является основной причиной того, что WinForms всё ещё существует.

Комментариев нет:

Отправить комментарий