Skip to main content

Платформа .NET обеспечивает кросс-платформенную разработку для Windows и Mac, а в ноябре Microsoft выпустила версию 8 для обоих. Вот что это значит для разработчиков.

В конце 1990-х годов Microsoft начала работу над новой платформой, языками и поддержкой среды выполнения для настольных компьютеров и веб-разработки под названием .NET (произносится как «dot-net»). Новые языки включали C# (производное от C), F# и включение новой версии Microsoft Visual Basic под названием Visual Basic.NET или просто «VB.NET».

Microsoft объявила об официальном выпуске C# на своей конференции разработчиков в 2000 году.

Вскоре после этого Microsoft начала разработку и стандартизацию через ISO и Ecma International того, что она назвала Common Language Infrastructure, или CLI. Идея CLI заключается в предоставлении общей инфраструктуры для всех языков, разработанных Microsoft.

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

Microsoft Common Language Runtime, или CLR, частично основана на CLI, как и компиляторы Microsoft.

C# имел большое преимущество перед своими предшественниками C и C++ в том, что исходные файлы C# являются автономными и больше не требуют файлов заголовков C/C++ (.h), включенных в начало каждого файла исходного кода. C# предоставляет и другие упрощения, предназначенные для сокращения времени разработки, а также размера и сложности кода.

В 2002 году Microsoft также анонсировала платформу ASP.NET — веб-серверную и облачную среду разработки, которая заменила исходную платформу веб-серверов Microsoft, называемую просто Active Server Pages (ASP).

.NET ядро

В 2014 году Microsoft представила новую версию .NET под названием .NET Core, а позже, в 2020 году, .NET 5. Затем последовали новые версии, и 14 ноября 2023 года Microsoft объявила о выпуске .NET 8 — теперь текущей версии.

.NET Core предназначен для обеспечения кросс-платформенной и веб-разработки в системах Windows, Mac и Linux. .NET теперь состоит из устанавливаемой среды выполнения, SDK, библиотек .NET Core и в Windows — Visual Studio IDE (интегрированной среды разработки).

Раньше существовала версия Visual Studio для Mac, но с тех пор Microsoft отменила ее, поскольку большая часть разработки платформ Apple выполняется с использованием собственной IDE Apple, Xcode.

Выпуск следующей версии .NET Core версии 9 запланирован на конец 2024 года.

.NET МАУИ

.NET MAUI, или пользовательский интерфейс многоплатформенного приложения, был представлен в .NET 6 в 2021 году и может использоваться для создания мобильных приложений для iOS и Android, а также настольных приложений с использованием C#.

MAUI использует открытый XAML (расширяемый язык разметки приложений) Microsoft, который создан на основе веб-стандарта XML с открытым исходным кодом. XAML основан на обещании открытой спецификации Microsoft, по сути, на заявлении о том, что Microsoft не будет судиться за использование технологий MOSP третьими лицами.

Чтобы еще больше запутать ситуацию, XAML также используется во множестве других платформ и технологий Microsoft:

WPF (Windows Presentation Foundation) WF (Windows Forms) WinUI UWP (универсальная платформа Windows)

UWP был представлен в Windows 10, чтобы предоставить единую унифицированную технологию для приложений Windows 10, 10 Mobile, Xbox One и Series S/X, а также HoloLens.

Элементы и атрибуты XAML сопоставляются со свойствами и событиями CLR.

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

BAML обеспечивает более быструю загрузку и выполнение, поскольку он эффективно вставляет подсказки или токены в XAML и выполняет анализ кода перед выполнением с помощью компиляции с опережением времени (AOT).

Ранняя академическая версия Visual Studio .NET 2003 года.

Новые возможности в .NET 8

.NET 8 представляет несколько новых функций, но наиболее важной из них является новая готовая к использованию в облаке платформа и инструменты Microsoft под названием Aspire, которые все еще находятся в предварительной версии. Aspire позиционируется как «новый облачный стек», предназначенный для упрощения мультиоблачной разработки и включающий такие функции, как наблюдаемость и отказоустойчивость.

На главной странице Microsoft .NET GitHub также есть репозиторий Aspire.

Aspire также использует технологию клиентских веб-приложений Microsoft под названием Blazor, которая поддерживает разработку приложений на C# и HTML. Blazor теперь также поддерживает популярные WebAssembly и гибридные конструкции.

Blazor и WebAssembly ускоряют работу веб-сайтов, предоставляя одностраничные веб-приложения, которые можно загрузить и запустить в веб-браузере пользователя, что сокращает время загрузки страниц и элементов из-за задержки в сети.

Aspire также использует систему веб-кэширования Redis, а также веб-компоненты для различных баз данных, систему обмена сообщениями RabbitMQ, собственные веб-технологии Microsoft Azure, Open Telemetry и PostgreSQL.

Телеметрия — это программная функция, связанная с возможностью наблюдения, которая позволяет автоматически экспортировать журналы, метрики и поведение производительности.

.NET 8 теперь также поддерживает пакеты NuGet, улучшенную сериализацию JSON, сборку мусора в памяти, .NET в Linux, улучшения WPF и диагностики и многое другое.

В целом на странице Microsft «Что нового в .NET» перечислено восемнадцать новых функций.

Одним из интересных аспектов Aspire является то, что Microsoft утверждает, что поддержка Aspire может быть добавлена ​​к существующим решениям (проектам) .NET при условии, что решения сначала будут полностью обновлены до .NET 8.

Общедоступная версия Aspire запланирована на весну 2024 года.

Microsoft также выпустила Visual Studio 17.8 для Windows одновременно с выпуском .NET 8. Новый локальный инструмент искусственного интеллекта для Visual Studio под названием Windows AI Studio на базе Azure AI Studio должен быть выпущен в ближайшие несколько недель.

Получение и установка .NET

На Mac вы можете загрузить и установить .NET, загрузив компоненты с веб-сайта Microsoft, страниц .NET или загрузив образ контейнера и используя его для установки всей среды.

У Microsoft также есть полная страница .NET GitHub, на которой есть сотни репозиториев git для сред выполнения .NET, .NET Core, asp.net Core, SDK .NET, компиляторов .NET для C# и Visual Basic (под кодовым названием Roslyn), компилятор F#, Windows Forms для создания настольных приложений и документация.

Репозиторий msbuild содержит Microsoft Build Engine, который используется компиляторами, Visual Studio и интерфейс командной строки для сборки проектов.

Альтернативно вы можете использовать менеджер пакетов Homebrew в macOS для установки .NET с использованием формул Homebrew .NET:

Обратите внимание, что Brew install dotnet — это новая формула для .NET 8, которая конфликтует с двумя старыми формулами .NET Homebrew:

Brew install —cask dotnet (время выполнения) Brew install —cask dotnet-sdk (SDK)

Согласно страницам документации по формулам Homebrew, две старые формулы бочонка не поддерживают Apple Silicon Mac, а новая формула .NET 8 поддерживает.

Для установки Windows .NET 8 также существует отдельная среда выполнения .NET Desktop, которую необходимо загрузить на свой компьютер с Windows и установить.

Для всех поддерживаемых платформ существуют отдельные страницы загрузки.

В целом .NET 8 выглядит многообещающе, и если Microsoft продолжит проект Aspire, он обещает упростить мультиоблачную разработку.

Также посетите виртуальное мероприятие dotnetconf.net в Интернете, чтобы ознакомиться с некоторыми учебными пособиями по .NET. На сайте также есть канал YouTube с несколькими вводными видеороликами по .NET.