Баннер мобильный (3) Пройти тест

.NET

Глоссарий

21 марта 2024

Поделиться

Скопировано

Содержание

    .NET — это платформа для программирования, разработанная компанией Microsoft. Изначально создавалась, чтобы писать программы под операционную систему Windows. Среда работает с несколькими языками программирования, умеет запускать и исполнять код, написанный на них.

    .NET логотип
    Логотип .NET

    Разработчик на .NET может одновременно работать с несколькими языками программирования. Среди них — C#, F#, Visual Basic и Visual C++, а также более редкие языки типа J#. Эти языки разные, но благодаря возможностям .NET разработчик может использовать для них единое пространство имен, один и тот же набор технологий, библиотек и API.

    По-русски название читается как «дотнет» («точка нет»). Еще можно встретить название .NET Framework — это одна из реализаций среды. На ней была основана .NET Core, которая сейчас называется просто .NET. Разница в том, что .NET Framework работает только под Windows, имеет другой набор языков и иную структуру. Она масштабная, а .NET — модульная. Но и то, и другое относится к семейству Microsoft .NET — в статье мы говорим о нем в целом.

    Платформу иногда называют фреймворком. Это не ошибка, хотя фактически .NET шире, чем обычный фреймворк.

    Для чего нужен .NET

    Современная разработка может проходить на нескольких языках одновременно. Если не использовать общую платформу, то для каждого из этих языков понадобится устанавливать свой компилятор, скачивать библиотеки и другие инструменты. .NET решает эту проблему. Это единая среда, в которой можно:

    • писать на нескольких языках;
    • не дублировать написанное;
    • не скачивать одни и те же библиотеки для каждого языка;
    • не множить технологии;
    • быстро и удобно переводить старый код на новые технологии.

    Последнее возможно благодаря тому, что .NET поддерживает много разных языков. В нем есть инструменты, чтобы переписать старый код под новые стандарты.

    Где используют .NET

    .NET изначально создавался для Windows, поэтому в разработке под Linux или macOS он почти не используется. Сложно его встретить и в мобильной разработке под iOS или Android, хотя возможность написать приложение есть. 

    У платформы несколько актуальных сфер применения.

    Бэкенд. В веб-разработке .NET могут использовать для создания серверной части сайтов, или бэкенда. Это одно из немногих решений, которое ориентировано в первую очередь на сервера под контролем Windows. Большинство платформ преимущественно работает с Linux. Но для веб-разработки понадобится один из фреймворков семейства ASP.NET: некоторые из них можно использовать только в Windows, другие — также в Linux и macOS.

    Десктопные программы. Речь идет о программах для Windows, причем и для новых, и для старых версий системы. .NET поддерживает решения Microsoft и легко с ними интегрируется, так что разработку вести довольно удобно. Из крупных программ на .NET написана, например, Microsoft Power BI — ПО для аналитиков. А из небольших, но известных всем — «Блокнот» и «Калькулятор» Windows.

    Игры. В .NET входит язык программирования C#, который часто используют для создания видеоигр. Например, с C# работает популярный игровой движок Unity, на котором написано огромное количество игр: двумерных и трехмерных, инди и высокобюджетных. Так что в теории .NET можно использовать и для геймдева, но понадобится много дополнительных знаний.

    Бизнес-решения. Так называемая enterprise-разработка — это корпоративные программы для больших компаний. Это обычно масштабные, сложные цифровые решения, например системы CRM. .NET используется в этой сфере. Для энтерпрайза это хороший инструмент, потому что позволяет комбинировать разные языки и технологии. Ведь такая масштабная разработка затрагивает и веб, и создание десктопных приложений, и мобильные устройства.

    IoT. Microsoft активно развивает технологии для Internet of Things — интернета вещей. Это технология, которая позволяет соединять друг с другом «умные» устройства в доме и передавать между ними информацию. Для IoT у компании есть своя платформа Azure, но писать для нее можно и с помощью .NET. Так как и то, и другое — продукты Microsoft, они легко интегрируются друг в друга.

    Как работает платформа .NET

    .NET создавалась как альтернатива языку программирования Java, и принцип работы у нее похожий. Java так популярна из-за того, что переводит написанную программу в специальный байт-код — его исполняет собственная виртуальная машина языка. Так достигается кроссплатформенность. Тут принцип похожий. Разница в том, что .NET поддерживает не один язык, а несколько.

    Схема работы .NET выглядит примерно так.

    1. Разработчик пишет код на C#, Visual Basic и других языках.
    2. Встроенный в .NET компилятор каждого из этих языков переводит их все в промежуточный язык программирования CIL — Common Intermediate Language.
    3. Получившийся код на CIL принимает среда CLR — Common Language Runtime. Это своеобразная виртуальная машина, которая занимается исполнением кода.
    4. Программа в CLR превращается в нативный машинный код и выполняется как единое целое, даже если изначально написана на разных языках.
    Схема работы .NET

    Такой подход позволяет глубоко объединять код на разных языках программирования, вплоть до общих имен переменных.

    CIL. Это низкоуровневый язык программирования, похожий на ассемблер. Писать на нем вручную сложно, он слишком близок к железу. CIL еще называют общим языком — не удивляйтесь, если встретите где-то это название.

    CLR. Ее еще называют исполняющей средой. Это машина, которая принимает на вход команды на общем языке, динамически переводит в машинный код и выполняет. Она же занимается сборкой мусора — очисткой памяти от данных, которые больше не нужны.

    Особенности .NET

    • Быстрый порог входа, хотя и придется писать на нескольких языках.
    • Понятный и читаемый код, так как все языки в .NET — высокоуровневые, с ясным человеку синтаксисом.
    • Автоматическая сборка мусора.
    • Полная совместимость с системами и технологиями от Microsoft, но возможные проблемы при работе с другими системами (хотя в целом .NET кроссплатформенна).
    • Разнообразное комьюнити и обилие сфер применения.
    • Динамическая компиляция, благодаря которой код легче переписывать и отлаживать.

    Стоит ли учить .NET

    Технология популярна и применяется в разных отраслях разработки. Так что программист, пишущий под .NET, без работы не останется. Порог входа в эту профессию не самый низкий, но ниже, чем во многих других языках, таких как Java.

    Еще один возможный плюс решения изучать .NET — несколько языков программирования, каждый из которых можно использовать для разных целей. Модульный .NET поддерживает C#, F# и Visual Basic; другие языки нужно доустанавливать. Но с .NET Framework даже «из коробки» поставляется еще несколько языков. А суть всей технологии в том, что интегрировать в систему можно любой язык программирования, который реально перевести в CIL.

    Поэтому .NET — хороший выбор, если вас интересует программирование под Windows или вы хотите попробовать себя в разных отраслях разработки.

    Хотите узнать больше? Запишитесь на курсы: мы расскажем о современных технологиях и поможем получить новую востребованную профессию.

    Другие термины на «.»

    Все термины

    Поделиться

    Скопировано

    0 комментариев

    Комментарии