Дотнет или дотнетчики. Вот так их называют. Не ошибитесь. Встречается на собеседованиях такое название, как «точка-нет».
.NET разработчики — довольно востребованные специалисты. Вилка зарплат мидлов по СНГ варьируется от 1300 до 3000 долларов США, верхняя планка зарплат для уровня Senior достигает 6000–8000 тысяч. Связано это прежде всего с тем, что под дотнет пишется большое количество продуктов, т.е. заявки на подбор .NET-разработчика будут встречаться достаточно часто.
Предлагаем новичкам-рекрутерам в формате блица пройтись по основным понятиям платформы дотнет.
.NET разработчик пишет на .NET?
Дотнет — это не язык. Это платформа, созданная Microsoft изначально для операционных систем Windows, а сейчас поддерживаемая всеми другими ОС: MacOS, Linux, Android, iOS, Tiz. Грубо говоря, это обширная библиотека предварительно написанного кода и инструментов, которые используют разработчики для ускорения и упрощения своей работы.
На каких языках пишут под .NET?
Дотнет-разработчик чаще всего пишет на языке C#, а также на Managed C++, Visual Basic .NET, F# и других. А LINQ — это расширение C#, на котором сейчас пишется большая часть бизнес-логики.
Что такое язык С# и платформа .NET простыми словами?
C# — это объектно-ориентированный язык программирования, который в основном построен на фреймворке .NET. Стоит отметить, что язык C# изобрела сама компания Microsoft, и она же продвигает его в качестве основного языка для дотнет-платформы.
Если провести аналогию, то C# — это самолет, а .NET — взлетно-посадочная полоса.
Как развивалась .NET?
В 2002 году появилась платформа .NET Framework, которая позволяла писать десктопные и веб-приложения под Windows. Развитие технологий требовало от дотнет-фреймворка гибкости и кроссплатформенных решений. Так, например, для написания мобильных приложений (iOS и Android) поверх .NET Framework был создан фреймворк Xamarin, а затем и кроссплатформенный аналог дотнет-фреймфорка — .NET Core.
В ноябре 2020 года вышла пятая версия .NET 5, которая стала продолжением развития фреймворка .NET Core. С этого момента Microsoft объявила, что все последующие версии будут называться .NET, что можно расценивать как слияние всех предыдущих фреймворков в единую платформу.
Новые продукты рекомендуется писать под пятой версией.
Что такое CIL и СLR?
Программисты могут разрабатывать и дорабатывать код для одного продукта на разных языках, совместимых с платформой. Как это реализовано?
Код из любого языка преобразуется в код, написанный на общем языке CIL (Common intermediate language). Далее код передается в исполняющую среду CLR (Common language runtime), которая берет функции и методы из дотнет.
В итоге результат передается на процессор и выполняется программа. Т.е. CIL — это компиляция разных языков в сборке. А CLR — это «виртуальная машина», которая управляет приложениями, написанными для дотнет.
Какие есть фреймворки поверх дотнет?
CLR и обширная библиотека стали базой стека технологий, которые разработчики могут задействовать для создания графических и мобильных приложений, баз данных и т.д. То есть для решения конкретных задач подбираются конкретные технологии. В заявках на подбор дотнет-разработчика чаще всего встречаются: Windows Forms, WPF, ASP.NET, Xamarin и др.
Что пишут под .NET?
Под .NET создаются веб-приложения, десктопные и мобильные приложения, чаты, сайты, игры, сложные системы для различных отраслей бизнеса, технологии, управляющие девайсами и др. В зависимости от задачи задействуют подходящие фреймворки.
Сайты под ASP и ASP.NET
Для разработки веб-приложений и сайтов в 80% случаев во всем мире используется язык PHP (смотрите наш ознакомительный материал по PHP). И только около 10% от всего пирога пишется под дотнет. Яркие примеры — это, конечно же, сайт Microsoft.com, а также Stack Overflow, знакомый каждому рекрутеру.
.NET для корпоративных продуктов
Для бизнеса под дотнет создаются более сложные системы. Такие продукты, по сути, являются комбинацией веб-разработки, мобильных и десктопных приложений. К таким решениям относятся продукты компании Майкрософт Dynamics 365, например, их СRM-система входит в пятерку лучших CRM-систем в мире.
Семейство продуктов SharePoint от Microsoft также является хорошим примером веб-приложений, справляющихся с задачами организации совместной работы, автоматизации и хранения информации.
Мобильные приложения под .NET
Xamarin.Forms часто используется для написания мобильных приложений.
Инструмент дотнета Visual Studio позволяет создавать приложения для устройств Android, iOS и Windows.
Игры под .NET
Для написания игр часто используют платформы, базирующие поверх .NET, например: Unity, Xamarin. Яркий кейс взаимодействия облачных технологий Microsoft и сегмента геймдев — игра-авиасимулятор Microsoft Flight Simulator (2020).
IoT — «интернет вещей» под .NET
Под дотнет пишется ПО для «вещей», которые могут взаимодействовать друг с другом, с внешней средой и интернетом: умные весы, пылесосы, домашние системы, беспилотные автомобили и т.д.
AI (искусственный интеллект)
Пример продукта AI — платформа Microsoft AI, предлагающая инструменты и услуги искусственного интеллекта. Здесь стоит выделить программу ML.NET для машинного обучения на языках C# и F#. А также .NET for Apache Spark — это активно развивающийся проект на базе фреймворка Apache Spark. Дотнет для Apache Spark позволяет разработчикам с опытом работы с дотнет или базами кода развиваться в мире анализа больших данных.
Перспективы платформы .NET
Десктопные приложения уходят в прошлое, фокус сейчас — это облачные технологии.
И тут стоит отметить хорошие позиции и развитие облачной платформы компании Microsoft — Azure.
Полезные ссылки
DotNext — ежегодная крупнейшая конференция для дотнет-разработчиков.
.NET Conf — онлайн-ивент от Microsoft и комьюнити dotnetfoundation.
MSDN (Microsoft Developer Network) — официальный портал со справочной информацией по продуктам Microsoft.
TechNet — официальный форум Microsoft, где можно найти ответы по продуктам Microsoft и дотнету.
Телеграм каналы, комьюнити в соцсетях, например, украинские devdigest // dot net, .Net(Cafe)
Hard skills .NET-разработчика
От дотнет-разработчика обычно требуется:
- Знание синтаксиса языка C#.
- Знание .NET.
- В зависимости от задачи: фреймворки для web-приложений (MVC, ASP.NET, WebForms, WebAPI, SignalR, Store App), фреймворки для десктопных приложений (WPF, WinForms), фреймворки для работы с данными (Entity Framework), IoC-контейнер и фреймворк Ninject.
- Базы данных SQL Server.
- T-SQL (язык запросов, используемый в SQL Server).
- Базовое понимание Front-end, различать Frontend и Backend.
- Productivity tools.
- Системы контроля версий.
- Также нужно понимать, что такое клиент/сервер, как устроен протокол HTTP, REST, JavaScript, иметь представление о доменах, хостингах, планах, облачных технологиях: MS Azure, Amazon, Yandex Cloud.
Примеры требований к .NET-разработчику в карусели ↓
Продукты Dynamics 365
Облачная платформа компании Microsoft — Azure.
Платформа Microsoft AI
Семейство продуктов SharePoint от Microsoft
Игра-авиасимулятор Microsoft Flight Simulator
Требования к .Net-разработчику
Требования к .Net-разработчику
На занятиях в школе HRPR вы пройдете технический ликбез.
Чтобы знать, какие существуют особенности при поиске самых разных специалистов.