Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.55/120: Рейтинг темы: голосов - 120, средняя оценка - 4.55
10 / 7 / 3
Регистрация: 25.02.2018
Сообщений: 86

Есть ли смысл изучать WPF?

08.09.2019, 16:19. Показов 25159. Ответов 91

Студворк — интернет-сервис помощи студентам
Есть ли смысл изучать WPF, если .NET Framework после версии 4.8 больше не будет поддерживаться, а на .NET Core стоит UWP?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.09.2019, 16:19
Ответы с готовыми решениями:

Изучать ли дальше WF или переходить на WPF?
Доброй ночи! Я прочитал книжку: Шилдт Г. Полное руководство С#4.0 Знаю все основы на C# и тд. Хотелось бы писать программы на WPF,...

Есть ли смысл использовать lock в приведенном коде?
Я правильно понимаю, что lock в данном случае не имеет смысла (см. LostConnectionWithController)? Это Callback на стороне клиента. ...

когда есть смысл вручную вызывать Garbage collector
когда есть смысл вручную вызывать Garbage collector?

91
 Аватар для skilllab
296 / 236 / 58
Регистрация: 03.02.2011
Сообщений: 2,051
Записей в блоге: 1
10.09.2019, 13:29
Студворк — интернет-сервис помощи студентам
А вот у меня как у "энтузиаста" (в том смысле что я программирую не по спец образованию а по необходимости и интересности) жёсткая завязка на ActiveX/COM/OLE а значит всё что не микрософтовское и десктопное - то костыли.
1
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
10.09.2019, 14:26
Цитата Сообщение от Defences Посмотреть сообщение
Я хз как вы не понимаете что UWP это не попытка MS создать что-то новое и хорошее, а попытка перетащить на себя одеяло, заставить юзеров и разработчиков быть зависимим от майкрософт стор так сказать.
Да, так и есть.
Желание куснуть по подобию Apple.
У Apple совсем другой тип юзеров. Там на первом месте гламур. Пусть приложение кривое, но оно единственное и гламурное - больше ничего и не надо.
Для пользователей Win, контингент сложился ещё из пользователь DOS на первом месте функциональность, универсальность, возможность выбора, адаптации.

И попытка "загнать" этот контингент в рамки аналогичные Apple или "откусить" юзеров у Apple заведомо обречена на провал.
Наглядный пример WinPhone. Лучше бы развивали WinMobile - было больше шансов на успех.

Перспективно у UWP был шанс, но нужно было MS менять политику в отношении него.
Но как писали выше, MS оказалось проще отказаться от него. Если это на самом деле так, то UWP обречён. Так же как и ранее Silverlight
3
Заблокирован
10.09.2019, 15:10
Цитата Сообщение от Элд Хасп Посмотреть сообщение
То что я люблю порассуждать по различным вопросам не делает меня экспертом.
Элд Хасп, Вы поняли мою мысль?

Добавлено через 5 минут
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Лично у меня на базовое освоение с нуля (до этого ничего о них не знал) С# и WPF (осваивал их параллельно) ушло 3-4 месяца.
А вот было бы интересно такой курс написать. Собрать те сведения по c# + WPF , которые являются базовыми на ваш взгляд и которыми можно овладеть за 3-4 месяца. Это было бы полезно - мог бы получиться бестселлер.
Я бы в своё время был бы ему очень рад, да и сейчас с удовольствием прочитал бы.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
10.09.2019, 15:22
Цитата Сообщение от titan4ik Посмотреть сообщение
Вы поняли мою мысль?
Да, понял.
И прокомментировал, чтобы не оставалось неясностей.

Цитата Сообщение от titan4ik Посмотреть сообщение
Собрать те сведения по c# + WPF , которые являются базовыми на ваш взгляд и которыми можно овладеть за 3-4 месяца. Это было бы полезно - мог бы получиться бестселлер.
Я уже не раз за это писал.
Базовые это те без которых не имеет смыла приступать к созданию приложения:
  • XAML
  • Компоновка WPF элементов
  • Привязки - Binding+INPC+WPF команды
  • MVVM
Без их знания можно делать только примеры для их освоения.

Есть ещё много стили, шаблоны, анимации,словари и т.д.
Но это уже можно осваивать по ходу практики создания приложений.
0
Заблокирован
10.09.2019, 15:24
Резюмирую тему со своей точки зрения. Начну с конца.
1. у UWP настоящее несколько ущербное (W10 далеко не у всех, магазин не удобен) и будущее во мраке.
2. у WPF обширное прошлое, широкое настоящее и есть надежда на будущее в периоде 5-10 лет
3. если вам WPF абсолютно не нужно, то учите сразу UWP, если оно вам нужно.

Но один вопрос остался. Если появился WPF App (.Net Core) и если он почти (?) ни в чем не уступает WPF App (.Net Framework), то имеет ли смысл что-то делать на WPF App (.Net Framework)? Например, если речь идёт о программе инженерного расчета или программе для обычного пользователя (типа ежедневник).

Добавлено через 1 минуту
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Я уже не раз за это писал.
Это Вы пишите в основном за WPF, но нужно же ещё указать базу c#
Вы же изначально писали про базу c# + WPF за 3-4 месяца.
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
10.09.2019, 15:26
Цитата Сообщение от titan4ik Посмотреть сообщение
Если появился WPF App (.Net Core) и если он почти (?) ни в чем не уступает WPF App (.Net Framework), то имеет ли смысл что-то делать на WPF App (.Net Framework)?
В плане кода и функциональности они идентичны, отличается только runtime, ну и в .NET Core есть дополнительные API, которых нет в .NET Framework (те же перегрузки различных методов принимающие Span<T> например).
2
Заблокирован
10.09.2019, 15:28
Цитата Сообщение от Someone007 Посмотреть сообщение
ну и в .NET Core есть дополнительные API, которых нет в .NET Framework
То есть, от перехода к WPF App (.Net Core) один плюсы.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
10.09.2019, 15:28
Цитата Сообщение от titan4ik Посмотреть сообщение
можно овладеть за 3-4 месяца
У меня бал опыт работы программистом ещё в начале 90-х.
Потом ушёл в другую сферу совершенно не связанную с программированием.
Иногда раз в два-три года делал какую-нибудь функцию на VBA+Excel. Нисколько из надобности, скорее из интереса.
В прошлом году, появилось много свободного времени.
Решил как хобби изучить что-то современное.
C# начал с июля прошлого года, WPF c августа. До этого о ООП читал. Чуток пробовал в VBA. О C# знал только название.
О WPF даже названия не знал.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
10.09.2019, 15:34
Цитата Сообщение от titan4ik Посмотреть сообщение
То есть, от перехода к WPF App (.Net Core) один плюсы.
Да, если Core не остановится.

FW - это MS проект. И он всецело зависит от них.
И пока не будет полноценной замены они от него не откажутся.

Core - выпущена MS. Но это открытая разработка и поддерживается сообществом.

Потенциально Core в развитии опередит FW и заменит его.

Но ключевое здесь "потенциально". На сколько этот потенциал будет реализован - не известно.
Но шансы, на данный момент, велики.
0
Заблокирован
10.09.2019, 15:35
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Желание куснуть
А разве сейчас могут быть иные мотивы? Бизнес, ничего личного.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
10.09.2019, 15:37
Цитата Сообщение от titan4ik Посмотреть сообщение
Это Вы пишите в основном за WPF, но нужно же ещё указать базу c#
Вы же изначально писали про базу c# + WPF за 3-4 месяца.
У меня в сумме ушло на базовое освоение столько времени.
WPF начал изучать на месяц позже начала изучения C#.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
10.09.2019, 15:41
Цитата Сообщение от titan4ik Посмотреть сообщение
А разве сейчас могут быть иные мотивы? Бизнес, ничего личного.
Но надо соизмерять желаемое с возможностями, не только своими, но и рынка.

В результате своей необдуманной ставки на WinPhone и свою WinMobile убили, и разрушили Nokia Mobile.
Наверняка, такое решение принималось маркетологами вопреки мнению инженеров. Изначально любому разбирающемуся технарю была понятна мертворожденность идеи.
0
Заблокирован
10.09.2019, 15:44
P.S.
Цитата Сообщение от Элд Хасп Посмотреть сообщение
У меня в сумме ушло на базовое освоение столько времени.
WPF начал изучать на месяц позже начала изучения C#.
Замечание было не о времени, а о содержании понятия "база c# + WPF". Указав такую базу "c# + WPF", Вы привели информацию только по WPF
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Я уже не раз за это писал.
Базовые это те без которых не имеет смыла приступать к созданию приложения:
XAML
Компоновка WPF элементов
Привязки - Binding+INPC+WPF команды
MVVM
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
10.09.2019, 16:09
Цитата Сообщение от titan4ik Посмотреть сообщение
Указав такую базу "c# + WPF", Вы привели информацию только по WPF
За базу C# - я даже не знаю.
Синтаксис, поля, свойства, методы, статические члены, классы, структуры, интерфейсы.
Я как-то это всё сразу по чуть-чуть освоил на консоли. А потом уже доучивал по мере необходимости при освоении WPF.
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
11.09.2019, 00:55
Цитата Сообщение от Defences Посмотреть сообщение
хочу услышать хоть 1 плюс от вас по поводу UWP
Я когда-то был готов расхваливать эту технологию. Но увы, я реально с ней страдаю, постоянные глюки, неработающие биндинги (если погуглить по-английски, то можно нагуглить, как люди жалуются, что x:Bind не работает в DataTemplate), падение приложения с сообщением примерно следующего содержания: текст ошибки не найден, код ошибки такой-то (то есть не всегда понятно где проблему искать, стэктрейс не всегда в принципе есть). У меня очень много нестандартных, самописных, замороченных контролов, может быть из-за этого у меня такой негатив, так как иногда дебажить их не так-то просто, когда случается очередной неработающий x:Bind.

Приложения UWP очень долго строятся, насколько я понял, чем больше у тебя вьюх (View) с x:Bind, тем дольше. Видимо, и без x:Bind будет долго, но с ними ещё дольше.

Если у тебя есть покупки в приложении, то твоё приложение быстро улетит из ТОПа стора, если ты будешь продавать в обход стора. А в сторе, кстати, покупки за баксы и никак иначе.

В WPF в XAML можно намного больше сделать без лишних заморочек, чем в UWP. Например, в стилях в UWP нет триггеров.

Добавлено через 1 минуту
Плюсы:
Это компиляция с .NET Native, анимации 60 кадров в секунду; много новых фишек, которых нет в WPF (или я не видел ).
4
215 / 149 / 48
Регистрация: 28.12.2016
Сообщений: 716
11.09.2019, 03:36
Casper-SC, а разве WPF не анимирует 60кадров/сек. Я просто когда использовал событие CompositionTarget.Rendering, там вызов был 59.9 раз в сек, что почти 60 кадров в сек.
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
11.09.2019, 20:17
Defences, в UWP есть анимации, которые работают, даже если прога зависла в UI потоке. То есть, загруженность UI потока никак не тормозит отрисовку анимаций.

Добавлено через 44 секунды
При том всякие Storyboard'ы так же работают в UI потоке, как и в WPF.

Добавлено через 8 минут
Composition animations
Relation based animations

Добавлено через 1 минуту
Вот ещё относительно новая фишка, не во всех версиях UWP она есть:
Spring animations

Добавлено через 4 минуты
В UWP вообще по дефолту много встроено анимаций в контролы.

Есть такая штука, как отложенная загрузка части UI. То есть ты можешь сделать так, чтобы у тебя быстро загрузился список элементов в галерее, а уже потом каждый элемент списка догружал часть UI (часть себя).
x: DeferLoadStrategy attribute

Добавлено через 5 минут
Вот ещё всякие оптимизации, которых нет в WPF (x:Phase атрибут в связке с {x:Bind})
ListView and GridView UI optimization

Добавлено через 4 минуты
Вот крутая фишка
Implicit Composition Animations in XAML
Прикрепляешь в XAML анимации
XML
1
2
3
4
5
<Border x:Name="Element" Height="100" Width="100" Background="Red">
    <animations:Implicit.Animations>
        <animations:ScaleAnimation Duration="0:0:1"/>
    </animations:Implicit.Animations>
</Border>
Добавлено через 56 секунд
В общем, по многим параметрам UWP ушёл далеко вперёд по сравнению с WPF, но минусы тоже свои есть. Я их описывал. Для кого-то часть описанного может быть не минусами вовсе.
2
9 / 8 / 2
Регистрация: 20.02.2018
Сообщений: 94
11.09.2019, 20:43
Голосовалку прикрутите уже.

Я за "C# + NetCore 3.x + Blazor"
Сам так и в таком порядке планирую изучать.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
11.09.2019, 21:34
Цитата Сообщение от Casper-SC Посмотреть сообщение
В общем, по многим параметрам UWP ушёл далеко вперёд по сравнению с WPF, но минусы тоже свои есть. Я их описывал. Для кого-то часть описанного может быть не минусами вовсе.
Как вы оцениваете перспективы UWP?
Меня именно это больше всего смущает.
Уж очень похожая на Silverlight получается картина.
И здесь уже кто-то писал, что в MS обсуждается сворачивание UWP - если я правильно понял.
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
12.09.2019, 04:04
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Как вы оцениваете перспективы UWP?
Мне кажется, что вряд ли он возьмёт и резко пропадёт. Скорее всего, сам фреймворк останется, но будет уже не для приложений стора.
Есть такие статьи:
EN https://www.zdnet.com/article/... dows-apps/
RU http://fornote.net/2019/05/mic... ilozhenij/
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.09.2019, 04:04

Есть ли смысл программировать самому телеграмм ботов на продажу?
Пришла в голову идея разрабатывать на продажу ботов в Телеграмм, но искав в интернете увидел, что есть сайты(конструкторы), для создания...

Хранимые процедуры в MSSQL, есть ли смысл их использовать?
Господа выскажите свое мнение о хранимых процедурах в MSSQL .. есть смысл их пользовать ?? Если есть то как это сделать из ASP ?

Есть ли смысл пользоваться mvvm?
Вот цитата одной статьи на хабре: Согласны ли вы с этим? Стоит ли тестируемость приложения адских мук с ICommand и...

Есть ли в WPF полноценная замена GDI+? Чтобы можно было всё, что можно в GDI+? Просто думаю углубляться в работу с изображениями в WPF или GDI.
Ну собственно весь вопрос в заголовке темы.

Есть ли смысл изучать 2-3 языка параллельно или же лучше погрузиться с головой в какой-то один
Доброго времени суток всем и каждому. Я начинающий программист и занимаюсь изучением всемогущего С#. Мои знания пока далеки от сколько...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru