Перейти к содержанию

Добро пожаловать в современный .NET

Краткая история .NET

Приложение .NET разрабатывается и запускается в одной из реализаций .NET. Реализации .NET включают .NET Framework, .NET Core, Mono, .NET 5 и NET 61. Существует спецификация API, общая для нескольких реализаций .NET, под названием .NET Standard.

.NET Framework

Было выпущено 9 основных релизов .NET Framework, начиная с .NET 1 и заканчивая .NET Framework 4.8. Два из этих релизов, .NET Framework 2.0 и .NET Framework 4.0, обновляли и CLR (Common Language Runtime), под которой выполнялись приложения.
.NET Framework предназначался для разработки приложений исключительно для Windows. Его наследник .NET Core стал открытым (open source) и кроссплатформенным.

.NET Core

В июне 2016 года Microsoft представила проект .NET Core, кроссплатформенную среду с открытым исходным кодом, поддерживающую выполнение в Windows, Linux и macOS. После этого Microsoft выпустила два существенных обновления, .NET Core 2.0 и .NET Core 3.0, а также несколько минорных релизов. Последним был .NET Core 3.1.
Помимо .NET Core и .NET Framework Microsoft поддреживает проект Mono, реализацию .NET Framework с открытым исходным кодом. Запущенный в 2004 году, он основывался на стандартах EMCA (European Computer Manufacturers Association) для C# и CLR, тем самым позволяя разработчикам легко создавать кросс-платформенные приложения.
Закрывая разрыв в покрытии API между .NET Framework и .NET Core, а также взяв лучшее из проекта Mono, Microsoft представила унифицированную платформу .NET 5 и, затем, .NET 6.

.NET Standard

В 2011 Microsoft выпустила PCL (Portable Class Libraries) - совместимые с многими фреймворками на бинарном уровне. Они поддерживали несколько сред исполнения: Mono, UWP (Universal Windows Platform) и .NET. Однако, в то время было трудно найти информацию о том, какие API были доступны, а какие нет. .NET Standard появился для преодоления этой неразберихи.
.NET Standard - это набор API, реализованных в BCL (Base Class Library). Различные реализации .NET используют определенные версии .NET Standard.

Современный .NET: Унифицированная платформа

.NET 5, выпущенный в ноябре 2020 года, является следующим звеном эволюции .NET после .NET Core, как и последовавший за ним в ноябре 2022 года .NET 6. Теперь приложения для различных платформ работают в единой среде исполнения, используя единую кодовую базу. Чтобы достичь этого, NET 5 и NET 6 объединяют лучшее из .NET Core и Mono.

Mono и CoreCLR

Рассмотрим опыт разработки .NET с Mono и с CoreCLR.

Различия и сходства

Mono - это кроссплатформенная реализация .NET, начинавшаяся как открытая альтернатива .NET Framework и затем перенацеленная на облегчение разработки под мобильные платформы. Mono является средой исполнения для Xamarin.
CoreCLR(Core Common Language Runtime) - это среда исполнения .NET Core.
У этих двух платформ много общего, но также много и различий. У разработчика есть возможность выбирать что-то наиболее подходящее, при этом сменить платформу будет максимально просто.

JIT

С самого начала .NET использует JIT (just-in-tiime) компиляцию для трансляции IL (Intermediate Language) в оптимизированный двоичный код. По умолчанию приложения .NET используют JIT и CoreCLR, однако также есть и исключения - Xamarin и Blazor WebAssembly используют AOT (ahead-of-time) компиляцию.

AOT

Компилятор Mono является AOT-компилятором. Проект Blazor использует его, начиная с .NET 6. Также AOT-компиляция необходима для Xamarin и Unity.

Обзор C# 9 и введение в C# 10

Обзор С# 9

Введение в C# 10


  1. На момент выхода книги .NET 7 ещё не вышел 


Последнее обновление : 6 апреля 2023 г.
Дата создания : 6 апреля 2023 г.

Комментарии

Комментарии