Открыть сервис

Microsoft .NET

Microsoft .NET — это программная платформа (фреймворк) для разработки, развертывания и выполнения приложений, созданная корпорацией Microsoft. Платформа предоставляет единую среду исполнения (Common Language Runtime, CLR) и обширную библиотеку классов (Framework Class Library, FCL), поддерживающую множество языков программирования, включая C#, F#, Visual Basic .NET и C++/CLI. .NET позволяет создавать приложения для различных операционных систем (Windows, Linux, macOS), мобильных устройств, веб-серверов, игровых консолей и встраиваемых систем.

История

Предпосылки и создание

Разработка платформы началась в конце 1990-х годов под кодовым названием Next Generation Windows Services (NGWS). Ключевой целью было создание унифицированной среды, которая бы упростила разработку распределенных веб-приложений и интеграцию с COM-компонентами. Первая публичная версия .NET Framework 1.0 была выпущена 13 февраля 2002 года. Она включала в себя среду выполнения CLR, библиотеку классов, а также языки C# и Visual Basic .NET.

Эволюция .NET Framework

С 2002 по 2019 год .NET Framework развивался как проприетарная платформа для Windows. Основные вехи:

Появление .NET Core и переход к открытой модели

В 2014 году Microsoft объявила о создании кроссплатформенной версии платформы под названием .NET Core. Этот шаг был связан с необходимостью поддержки Linux и macOS, а также с желанием сделать платформу модульной и открытой. Первый стабильный релиз .NET Core 1.0 состоялся 27 июня 2016 года. Ключевые особенности: открытый исходный код (лицензия MIT), модульная архитектура через NuGet-пакеты, поддержка контейнеризации (Docker) и высокая производительность.

Унификация в .NET 5 и далее

В ноябре 2020 года Microsoft выпустила .NET 5, объединив .NET Core и .NET Framework в единую платформу. С этого момента все новые версии (6, 7, 8, 9) носят общее название .NET (без суффиксов Core или Framework). Платформа стала полностью кроссплатформенной, поддерживает долгосрочные (LTS) и краткосрочные (STS) релизы. .NET Framework 4.8 (выпущен в 2019 году) остался последней версией классической платформы, которая поддерживается только в составе Windows.

Архитектура

Common Language Runtime (CLR)

CLR — это виртуальная машина, отвечающая за выполнение управляемого кода. Она обеспечивает:

Framework Class Library (FCL)

FCL — это обширная библиотека классов, содержащая типы для работы с:

Common Type System (CTS) и Common Language Specification (CLS)

CTS определяет, как типы данных объявляются, используются и управляются в среде выполнения. CLS — это подмножество правил, которые должны соблюдать все языки, совместимые с .NET, чтобы обеспечить их взаимодействие.

Сборки (Assemblies)

Исходный код компилируется в сборки — файлы с расширением .exe (исполняемые) или .dll (библиотеки). Каждая сборка содержит метаданные (манифест) и код на промежуточном языке (CIL). Сборки могут быть частными (для одного приложения) или общими (Global Assembly Cache, GAC).

Версии и поддержка

ВерсияДата выходаТип поддержкиКроссплатформенность
.NET 510.11.2020STS (завершена)Да
.NET 608.11.2021LTS (завершена)Да
.NET 708.11.2022STS (завершена)Да
.NET 814.11.2023LTS (активна)Да
.NET 912.11.2024STS (активна)Да

Языки программирования

Основными языками для платформы .NET являются:

Также существуют сторонние реализации, позволяющие использовать на .NET языки Python (IronPython), Ruby (IronRuby) и другие.

Применение

Веб-разработка

Платформа ASP.NET Core (в составе .NET) используется для создания веб-приложений, REST API и микросервисов. Она поддерживает модели MVC (Model-View-Controller), Razor Pages, Blazor (для клиентской части на WebAssembly) и gRPC.

Десктопные приложения

Для Windows-приложений используются Windows Forms (WinForms) и Windows Presentation Foundation (WPF). Для кроссплатформенных приложений — .NET MAUI (Multi-platform App UI), позволяющий создавать интерфейсы для Windows, macOS, Android и iOS.

Мобильные приложения

.NET MAUI и Xamarin (предшественник MAUI) позволяют разрабатывать нативные мобильные приложения на C#.

Игровая индустрия

Платформа используется для создания игр через игровые движки, такие как Unity (основной язык — C#) и Godot (поддержка C#).

Облачные и серверные решения

.NET широко применяется в облачных средах Microsoft Azure, а также для разработки высоконагруженных серверных систем, контейнеризированных приложений (Docker, Kubernetes) и бессерверных функций (Azure Functions).

Промышленность и IoT

Благодаря поддержке ARM-архитектуры и малому потреблению ресурсов, .NET используется в системах Интернета вещей (IoT) на платформах Raspberry Pi и других одноплатных компьютерах.

Открытый исходный код и сообщество

С 2014 года исходный код платформы .NET (включая CLR, библиотеки классов и компиляторы) доступен на GitHub под лицензией MIT. Разработка ведется открыто, с участием сообщества. Крупнейшие проекты сообщества: .NET Foundation, NuGet Gallery (менеджер пакетов), Roslyn (компилятор C# и VB.NET), ASP.NET Core, Entity Framework Core.

Критика

Основные претензии к платформе в разные годы:

См. также

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →