×Закрыть

C# и его возможности

Всем привет. Хотелось бы спросить о актуальности данного языка (С#) в современном мире (2019 год) и его возможности. Так как я являюсь пока что вайтишником, после попыток выучить PHP, Python, понравился ЯП С# (а может и просто попался толковый наставник по онлайн курсу).

Конкретней к делу. У меня один вопрос для людей которые в разработке: какие актульные направления для углубления в данный ЯП? Например :
— ASP.NET;
— Windows Form;
— Windows Communication Foundation;
или возможно другие какие то варианты.

Спасибо

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

В каждой второй вакансии требуют опыт с Microsoft Azure : ServiceFabric, CognitiveServices, IOT, AzureFunctions, StreamAnalitics, Bots.т.д. Но пока самые востребованные вакансии со знанием ASP.NET MVC 6 Core 2+ (включая знания Angular 5-6 + React). Десктопная разработка фактически не востребована.

Привет, делай ставку на asp.net mvc/web api плюс основы фронтенда, мне кажется это лучшая точка входа. Можешь заценить статью dou.ua/...​ticles/net-for-beginners

Наиболее актуален C# сейчас в таких направлениях как: веб-приложения, хайлоад системы, веб-сервисы, десктопные приложения, корпоративные системы и сервисы. Это далеко не полный список, но это основное. Особенно стоит обратить внимание на .NET Core — это, новое поколение платформы .NET, которая сейчас активно развивается. Также рекомендую подписаться на канал украинского сообщества .NET Core разработчиков в телеграмм t.me/dncuug У нас регулярно публикуется полезный материал по .NET Core и вакансии.
Что касается WindowsForms и WCF, то эти технологии потихоньку отходят в прошлое, хотя и будут востребованы ещё не один год.

все скрипты для создания игр на движке Unity3D пишуться на C#. Unity3D относительно молодой( родился в 2005 году) и активно развивающийся движок. До Unreal Engine конечно, не дотягивает пока. Но все у него впереди, в новой версии — 2019 в него Завезут графоний и визуальный скриптинг, а также редактор шейдеров. Очень популярен среди разрабов игр для мобилок, ну на ПК игры тоже пилят, правда не так часто, хотя тот же Escape from Tarkov сделан на этом движке, ну и еще несколько разных игр.

В основном каждый язык в чем- то хорош, нужно понять чем хочешь заниматься если десктоп, то WPF или сейчас под windows 10 uwp пошел, если web-ом, то ASP. NET CORE, сейчас набирает обороты, но и существует и уйма проектов на ASP..NET FRAMEWORK

Як десктоп розробка? Оживилася після виходу він10, чи так само в застої?

Довольно таки, да, оживилась, но аудитория на спрос приложений в основном зарубежная,.

Яким онлайн курсом користувався?

після завершення курсу С# Базовий хочу почати вглублятись в цей напрямок. Тому і питаю йти далі в С# чи переходити в якийсь 50/50 C# варіант. Для себе взнав відповіді які хотів.По ділу і без флуда пояснили багато нюансів.Дуже вдячний кожному за його комент. Якось так

Конкретней к делу. У меня один вопрос для людей которые в разработке: какие актульные направления для углубления в данный ЯП? Например :
— ASP.NET;
— Windows Form;
— Windows Communication Foundation;
или возможно другие какие то варианты.
ASP .NET MVC Core, Xamarin

Еще есть Unity. Но это в основном геймдев. А геймдев не все жалуют (да и зарплата говорят ниже, чем в других областях, где юзается С#)..

после попыток выучить PHP, Python

Т.е. не осилил?

какие актульные направления

Открываешь список вакансий и смотришь на требуемые скилзы. Выбираешь, что нравится и составляешь план изучения.

не то что не осилил, фронтенд не особо понравился, а пайтон как то не зашел

.NET Core конечно за 2018 уже стал более менее готовым продуктом и определённая неизбежность перехода чувствуется, так как HR уже требуют предыдущий опыт в нём при переходе, клетка закрывается) Одним из символов смерти, отказ от внедрения Span, отказ Asp.Net Core от работы под .NET Framework.

Хотя EF Core как по мне, еще не вышел даже на уровень первого релиза LinqToSql (Group By, Карл!). У меня чувство, что первее EF6 переведут на .NET Core, чем сделают EF Core с Group By.

Мені якось в останніх проектах, нових, EF не зустрічається. Назад в ADO.NET з різними даперами, чи без.

Одним из символов смерти, отказ от внедрения Span, отказ Asp.Net Core от работы под .NET Framework.

Span работает под Full framework тоже, там есть понятие нативной поддержки на уровне рантайма и без нее — но в перф тестах что одно, что второе вроде как работает с небольшой разницей.
Если человек не знает ничего кроме .net core говорит за себя, при дальнешем росте все равно прийдется разбираться с Full framework и legacy кодом, как было, что стало и почему — поэтому сказать что .NET Core привлекательный выбор для новичка, где все пойдет так же гладко, как например Go, однозначно достаточно сложно.

все равно прийдется разбираться с Full framework

Вот только в пятницу закончил миграцию большого API с Web.Api 2.0 на ASP.NET Core 2.2. По факту разница минимальна. Отличается конфигурация, базовые классы. Вся бизнес логика переехала как есть. Поэтому придется ли разбираться с full framework очень зависит от проекта/компании. Может случиться, что проработаешь 3-5 лет с .net core и потом full framework сам отпадет. А даже если придется, в него въехать не должно составить большого труда.

MS же писал, что не будет развивать full framework — только сесурити апдейты. Поэтому я бы отложил его изучение до если понадобится.

MS же писал, что не будет развивать full framework — только сесурити апдейты. Поэтому я бы отложил его изучение до если понадобится.

С трудом вериться. А где можно больше почитать больше?

.net core по прежнему весьма лимитированная платформа — единственное что в ней работает до сих пор это ASP.NET и консольные приложения. Даже десктоп там пока в планах еще на след major релиз и то будет прибито гвоздями к windows — вообще меня удивило, что они потратили кучу усилий что б добавить platform specific десктоп, вместо развивать кроссплатформенные вещи(что говорит о том, что ничего нового от мс ожидать не стоит и в .net core так же как и раньше будут развивать только те вещи, что помогают продавать либо Azure либо Windows). Это если еще не упоминать про Xamarin — соотвественно Mono в развитии которого МС теперь так же не посредственно заинтересован и который с .net core имеет мало общего

Если опять же почитать как рекомендуют юзать ASP.NET Core — веб приложение для REST API шек не более
docs.microsoft.com/...​ing-core-framework-server

А где можно больше почитать больше?

Похоже сначала появилась эта статья medium.com/...​work-is-done-8aec3bbae12d, а потом эта запись в блоге
blogs.msdn.microsoft.com/dotnet/page/5.

.NET Framework is the implementation of .NET that’s installed on over one billion machines and thus needs to remain as compatible as possible. Because of this, it moves at a slower pace than .NET Core. I mentioned above that even security and bug fixes can cause breaks in applications because applications depend on the previous behavior. We will make sure that .NET Framework always supports the latest networking protocols, security standards, and Windows features.
ASP.NET Core — веб приложение для REST API шек не более

Так, да, я говорю про разработку бэкенда.

Так а Java, PHP, NodeJS, etc. хіба для чогось іншого, крім rest-апішек, тобто бекенда ? MVC втрачає актуальність у зв’язку з переїздом на клієнт. WinForms-lite якісь прикрутят, сервіси — і все, що треба є.

Dapper норм штука, переходите на нее

NET Core конечно за 2018 уже стал более менее готовым продуктом

Открою секрет, .NET Core был полностью готов к применению в проде ещё в начале 2017 года :)

Win/Web Forms разве что на суппорте древнего мамонта. WPF — можно попасть, что пригодится. Я на паре галер веслал на таких проектах, вроде даже клиент все ещё вваливает бабло до сих пор. Но там было сильно специфично, что в веб не уйти.
WCF — было такое умное слово, да. На практике не использовал. В отличии от SSRS и SSIS.

Короче, если хочешь формошлепить — забудь про сишарп и джава. учи сразу свифт и иди в гламурный девелопмент под айфоны. Мир сишарпа полон боли, страдания легаси кода на хинди и SQL. А ксамарин позволяет почувствовать себя немного привлеченным к миру гламура.

ASP.NET MVC, Web API (+ ASP.NET Core)

І не забувайте про MS SQL. Бо знадобиться!

С MS SQL долго не задерживайся.
Просто познакомься с запросами, тогда будет проще понимать как обращаться к базе данных в принципе.

Гораздо проще работать через обычный C# и Через Entity Framework.
Гугли также LINQ функции

Такой себе совет, по моему опыту где-то 60-70% кандидатов на позиции бекенд девелопера отсеиватются потому, что не знают дальше c# api работы с persistence ничего, в том числе совершенно не понимают, как эта технология работает, и показывают отсутсвие навыков диагности проблем и почему эти проблемы возникают. Хотя в текущих реалиях серверной разработки .net понимание persistence движка, с которым работаешь, куда важнее низкоуровневой с/с++ шелухи(мьютексов, семафоров и тд) или каких-то нюансов ооп/паттернов/солид, о которых спрашивают на каждом интервью.

Я бы сказал от проекта зависит, я за 6 лет лишь раз сталкивался с EF, проект пол года был :-) Все остальное время — свой DAL на ADO.NET+T-SQL, еще было немного nHibernate. При этом я мало имел дела с T-SQL, им занимались SQL девелоперы.

Достаточно распространненая практика — но не освобождает от требований знать как MS SQL должен использовать дотнетчик. Правильно декомпозировать работу между базой и C# кодом за вас датабейзник не сделает.

На впф можно красивые приложения делать

Медленные по сравнению с чем? С модным нынче Электроном, lol?!

По зрівнянню зі швидкістю світла!

Спасибо большое за оперативные и исчерпывающие ответы.

Xamarin теж не треба. Не так багато вакансій та й люди специфічні.

Тян не нужны.

Нужны, на самом деле (ксамаринщики). Вакансий мало, а специалистов ещё меньше. И порог вхождения высокий. Зато потом есть знания уйти в нейтив, когда задолбает ооп и захочется формошлепить.

уйти в нейтив, когда задолбает ооп и захочется формошлепить.

Как будто Xamarin — это не формошлепство.

Недавно знакомый крепкий мидл по ксамарину ушел на зп из верхнего квартиля для синьоров.

Не так багато вакансій

это да, но спецов еще меньше и даже галеры очень часто соглашаются на хорошие зп.

А мене от цікавить — навіщо замовники оберають такі малопопулярні технології якщо вони призводять до проблем з пошуком спеціалістів, яким ще й платити треба більше ринку?

Думаю это продукты которые начались несколько лет назад. Сейчас действительно надо быть упоротым, что бы делать ставку в новом приложении на ксамарин.

Потому что одна команда смузихлебов все равно получается дешевле, чем две команды смузихлебов. Количество разработчиков меньше, меньше количество qa, меньше количество железа необходимого для работы. Это минимум на котором можно сэкономить. По хорошему ещё минус аналитик, минус менеджер, минус ui/ux. Добавь к этому минусу возможных менеджеров и аналитиков со стороны клиента. Короче, минус куча народа которая позволяет хорошо сэкономить бюджет, а на выходе получить такой же продукт.

И минус времени на синхронизацию этих смузихлебов. Все равно формошлепить, хватит и пары тройки ксамаринщиков.

Тогда лучше наверное 1 человека найти, который сможет пилить нативно и Андроид, и ios. Так же по цене будет, и приложение не будет подлагивать от рантайма ксамарина.

With C# and .Net you can build anything!
image.slidesharecdn.com/...​p-4-638.jpg?cb=1525807962
azure.microsoft.com/...​net-overview-and-roadmap
P.S. Главное — забыть про старый .Net Framework и бежать от старых проектов на ASP.Net WebForms, WinForms, WPF и т.д.

Главное — забыть про старый .Net Framework

Да и забыть про 95% вакансий на джуна.

ASP.NET Core самое актуальное. WCF и Windows Form, думаю, можешь пару вечеров посмотреть и забить

Подписаться на комментарии