[Перевод] .NET Standard 2.1

С тех пор как мы выпустили .NET Standard 2.0 около года назад, мы дважды обновили .NET Core 2.1 и готовимся к релизу .NET Core 2.2. Пора бы обновить и Standard: включить некоторые из новых концепций, а также ряд небольших улучшений, которые облегчат вашу жизнь в работе со многими продуктами .NET.

zucxve-u_7gx9bcue-zmppeqxfa.jpeg

Читайте далее, чтобы узнать больше о том, что нового в последней версии, а также что вам нужно знать о поддержке платформы, управлении ею и кодинге.

Что нового в .NET Standard 2.1?


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

Вот основные моменты:

  • Span.
  • Foundational-API, работающие со Span.
  • Reflection emit.
  • SIMD.
  • ValueTask and ValueTask.
  • DbProviderFactories.
  • Другие крутые улучшения.


Для получения дополнительной информации вы можете проверить список со всеми различиями в API между .NET Standard 2.1 и .NET Standard 2.0. Вы также можете использовать apisof.net, чтобы быстро проверить, будет ли данный API включен в .NET Standard 2.1.

Концепция .NET


Если вы пропустили наши апдейты по концепции .NET Core 3.0 и .NET Framework 4.8, подробнее об этом ниже:

  • .NET Framework — это реализация .NET, установленная на более чем одном миллионе устройств, и, следовательно, должна оставаться как можно более совместимой. Из-за этого платформа развивается медленнее, чем .NET Core. Даже фиксы безопасности и ошибок могут вызвать разрывы в приложениях, потому что приложения зависят от предыдущей настройки. Мы будем следить за тем, чтобы .NET Framework всегда поддерживала новейшие сетевые протоколы, стандарты безопасности и функции Windows.
  • .NET Core — это открытая, кросс-платформенная и быстро развивающаяся версия .NET. Из-за ее природы она может развиваться так, как мы не рискнем развивать .NET Framework. Это означает, что .NET Core всегда будет получать новые API и поддержку языков быстрее, чем .NET Framework. На Build мы продемонстрировали демо того, насколько API быстрее в .NET Core. Если бы мы вносили те же самые изменения в .NET Framework, мы могли бы сломать существующие приложения, и мы не хотим этого делать.

Авторы библиотек, которым необходимо поддерживать клиентов .NET Framework, должны оставаться на .NET Standard 2.0. По факту, большинство библиотек должны быть способны работать на .NET Standard 2.0. Однако, это не значит, что авторы не могут воспользоваться плюсами этих API, даже если они должны поддерживать .NET Framework.

Рекомендации по таргетингу см. в новой документации по кроссплатформенному таргетингу.

Итого


Формирование .NET Standard 2.1 продолжается. Вы можете наблюдать за нашим прогрессом на GitHub.

Если вы хотите быстро проверить, есть ли конкретный API в .NET Standard (или любой другой платформе .NET), вы можете использовать apisof.net. Вы также можете использовать .NET Portability Analyzer для проверки возможности переноса существующего проекта на .NET Standard 2.1.

Удачного кодинга!

© Habrahabr.ru