Здравствуйте уважаемое сообщество, этот вопрос поднимался уже не одну сотню раз, но я снова задам его так как всё что мне удалось найти это ответы ~2летней давности. Закончил университет по специальности информационных систем и компьютерных технологий, последние три года работаю в тех. поддержке, в этом году пришел к осознанию что пора двигаться дальше, решил попробовать себя в программировании, выбор пал на C# (и в принципе я не обломался, пока все нравится), затарился книжками, уже успел оценить качество перевода на русский язык и начать читать оригинальные книги с переводчиком, смотреть курсы и понемногу начал въезжать, ковырялся в основном с консолью, но на данный момент пришло осознание что нужно выбирать направление т.к. на консоли далеко не уедешь и тут встал вопрос, что изучать? Информация о смерти WPF гуляет уже не первый год, с другой стороны пишут что на ASP.NET MVC огромная конкуренция сейчас. С одной стороны в дальнейшем я хочу зарабатывать деньги и работать программистом(о золотых горах не мечтаю, понимаю что работа трудная и не всегда хорошо оплачиваемая), но с другой так же программировать для себя (с этим я уже определился, хочу поработать с Unity, благо язык как раз подходит). Посоветуйте пожалуйста, стоит ли тратить время на изучение WPF или лучше сразу идти по пути изучения всего и вся для работы с ASP.NET MVC? (я понимаю что дело одним шарпом не ограничится, но не хотелось бы тратить время впустую). Или может быть помимо WPF и ASP.NET MVC есть что то еще перспективное в этом языке? Спасибо за советы!
На ASP.NET MVC нет огромной конкуренции) Я бы сказал, что она даже ниже, чем для разработки десктопного ПО, ибо вакансий больше в разы. Но тут есть свои приколы: порог относительно высокий, ибо нужна немаленькая инфраструктура, подпирающая убогость HTTP. Ну и большинство нормальных вакансий требуют фулл-стек (или хотя бы навыки в написании фронтовой логики на JS).
Толстый Лорри, конкуренции на ASP и правда немного, а вот про фул-стек неправда. ASP это как Spring. Его в основном используют в энтерпрайзе. А там обычно уже есть разделение на фронтов и бэкэндщиков. Просто мелкие сайты типа интернет магазинов невыгодно на ASP пилить. На пыхе или питоне быстрее.
DarkByte2015, не претендую на репрезентативность, но позицию чистого бэкенда найти действительно затруднительно, тем более в интерпрайзе, где крутой GUI не нужен.
И то, и другое! WPF - это десктоп, ASP.Net MVC - веб. Что касается WPF, говорить можно что угодно, но других приличных технологий под десктоп сейчас нет.
Все эти UWP задумывались, чтобы писать одинаково под десктоп, мобилу и планшет. Поскольку Майкрософт сдалась в борьбе за рынок мобильных ОС, практическая ценность UWP приближается к нулю.
WPF нисколько не умирает. Это какие-то странные слухи. Например, в последней версии .NET Framework 4.7 включили обновления для WPF, и он достаточно внушительный. И он будет развиваться и дальше. UWP (у него такой же язык, что и у WPF: XAML) обычно завязан на магазине Microsoft и требует только последние версии Windows, насколько я помню. Ещё до сих пор существует WinForm, и он не собирается пока сдавать свои позиции. Если вам нравится этот язык, то работайте с ними, осваивайте новое. Изучать всё сразу не получится, слишком большой охват. Лучше изучать по ходу дела. Я именно так поступаю. Когда нужно новое или оптимальное решение, то ищу его. Главное, тут набить руку в программировании. WPF и ASP.NET MVC - разные направления. Первые нацелены на настольные решения, а вторые - уже веб-решения. А уж дальше уже зависит от поставленных задач.
А разве WPF и UWP это не одно и тоже? Мне почему-то так казалось... Чем они отличаются то?
З.Ы. виндозформс кроме как студенты на лабах никто и нигде не юзает, не гоните. А вот WPF/UWP совсем другой вопрос - под виндовый магазин вроде все на них пишут. Это как на маках Swift/Cocoa. Другой вопрос что вакансии по ним все равно сложно найти.
DarkByte2015, WinForms ещё как используют в прикладных приложениях. Просто о них не распространяются особо. Для простых задач они подойдут. Но, возможно, они отомрут. Так как Microsoft объявила, что будет только исправлять ошибки. И только один раз она обновила для поддержки экранов с высокой плотностью (если википедия не врёт). Видимо, ждёт, когда интерес программистов к WinForms упадёт до нуля, чтобы потом бесповоротно удалить.
А WPF и UWP - с одной стороны похожи между собой, а с другой стороны - есть некоторая разница. WPF обычно ориентирован на обычные рабочие настольные приложения. А UWP уже необязательно на настольные приложения. Можно писать под интернет вещей (IoT), смартфоны, планшеты, телевизоры и так далее. Даже внутреннее поведение несколько иное. Но это надо изучать глубоко. Так как мне для повседневных задач хватает с головой и WPF. Но да, обычно UWP ориентирован под магазин. Правда, сам магазин в последнее время предлагает программы не UWP, а вполне обычные.
Вакансии по WPF/UWP?
Я вот тоже относительно недавно начал погружаться в .NET технологии. И что бы понять с чего начать, я прошелся по вакансиям и посмотрел, что требуют от C# разработчика.
В среднем по вакансиям требовали:
1) Знание самого C#
2) SQL
3) ASP.NET MVC
4) Enity Framework
5) WPF
6) Frontend направление
Исходя из этого для себя вынес, что изучать. Поэтому как совет, ориентируйся на вакансии.
Зря Вы так о WPF ) Десктоп востребован до сих пор, загляните в вакансии. Но самое востребованное web конечно. Выше постом правильный список и приоритеты там как есть, упустили только мобильную разработку xamarin, но я это на последнее место поставил бы.
Я бы посоветовал в web. Вакансий много, работы много, разработчиков не хватает.
Если вам интересно, то учите XAML, эта технология используется и в WPF, SL, UWP. Так же интересное направление ASP.Net Core. Выбирайте десктоп или web.