Написать пост

Microsoft представила .NET Standard 2.1

Аватар Андрей Галадей

.NET Standard 2.1 содержит решения для оптимизации нагрузки в высокопроизводительных сценариях. В .NET Standard добавят около 3 тысяч API.

Обложка поста Microsoft представила .NET Standard 2.1

Разработчики Microsoft обновили .NET Standard до версии 2.1, добавив в него ряд улучшений и большое количество API. .NET Standard — это набор спецификаций общих интерфейсов для платформ .NET Framework, .NET Core, Mono, Xamarin и других. Библиотека, удовлетворяющая спецификациям .NET Standard, может использоваться на остальных платформах .NET.

Главные изменения

Основные новшества в .NET Standard 2.1:

  • Добавлена поддержка типа данных Span для всех платформ. Span позволяет работать со строками, массивами и другими типами данных, а также вводит абстракцию доступа к некоторому участку памяти как на чтение, так и на запись. Это позволит упростить разработку. Вообще, Span лежит в основе большинства улучшений, касающихся производительности в .NET Core 2.1. Подробнее об этом можно узнать в GitHub.
  • Foundational-API — обновление стандарта, касающееся производительности. Оно, в отличие от Span, расширяет список именно программных интерфейсов, а не типов данных.
  • Обновлён тип ValueTask для высоконагруженных сценариев. ValueTask возвращает результат, если операция выполнена синхронно без создания новой задачи, что отражается на общей производительности ПО. Использование ValueTask позволяет минимизировать накладные расходы на ПК или сервер. Сам тип появился в .NET Core 2.1, а в новой версии он дополнительно использует такие типы, как Socket и NetworkStream.
  • Reflection emit добавляет технологию генерации типов на лету. Отдельно она уже использовалась, но теперь её включили в стандарт. Экосистема .NET обычно активно использует динамические функции, поэтому Reflection emit позволяет оптимизировать производительность системы.
  • Ранее используемый API SIMD теперь внесён в .NET Standard в пакет NuGet.
  • Появился примитив DbProviderFactories. Он облегчает библиотекам и приложениям использование технологии ADO.NET. Зарегистрированный экземпляр DbProviderFactory выбирается по имени из параметров конфигурации базы данных.
  • Добавлены функции System.HashCode и System.String в библиотеки базовых классов.

В .NET Standard 2.1 планируется добавить около 3 тысяч API, часть которых будут просто обновлены, а другие полностью новыми. Это решит проблему совместного использования кода для разработчиков .NET на всех платформах.

Использование .NET Standard 2.1

Новую версию стандарта не планируют использовать в .NET Framework 4.8, который продолжит работать на версии 2.0. А вот .NET Core 3.0, Xamarin, Mono и Unity обновят до версии 2.1. При этом обновление всех библиотек не планируется, во всяком случае сейчас.

В июне 2018 года Microsoft представила .NET Core 2.1 с поддержкой Alpine Linux версии 3.7 и выше, а также чипов ARM32. А в августе 2018 года компания обновила Windows Community Toolkit до версии 4.0. Одним из нововведений стал перевод Twitter, LinkedIn, Microsoft Translator и других веб-сервисов на пакеты .NET Standard.

Следите за новыми постами
Следите за новыми постами по любимым темам
5К открытий5К показов