Представляем .NET 7 Preview 1

Мы рады объявить об очередной вехе в истории .NET. Отмечая 20-летие технологии, .NET 7 Preview 1 знаменует собой первый шаг вперед к следующим 20 годам .NET.

ASP.NET Core Preview 1 и EF7 Preview 1 также были выпущены.

.NET 7 строится на базе, созданной .NET 6, которая включает в себя унифицированный набор базовых библиотек, среду выполнения и SDK, упрощенный процесс разработки и более высокую производительность. Основные направления работы .NET 7 включают улучшенную поддержку облачных сценариев, инструменты, облегчающие обновление устаревших проектов, а также упрощение работы разработчиков за счет упрощения работы с контейнерами.

.NET 7 Preview 1 включает аннотации к API для поддержки возможности обнуления, текущую оптимизацию JIT-компилятора, новые API и поддержку дополнительных сценариев горячей перезагрузки.

Выпуски .NET включают продукты, библиотеки, среду выполнения и инструменты и представляют собой совместную работу нескольких групп внутри и вне Microsoft. Более широкие темы, затронутые в этом сообщении блога, не охватывают все ключевые сценарии и инвестиции в .NET 7. Они представляют собой большие области, но являются лишь частью всей важной работы, связанной с .NET 7. Мы планируем сделать значительные инвестиции в ASP.NET Core, Blazor, EF Core, WinForms, WPF и другие платформы. Вы можете узнать больше об этих областях, прочитав планы развития продуктов:

Вы можете скачать .NET 7 Preview 1 для Windows, macOS и Linux:

.NET 7 был протестирован с Visual Studio 17.2 Preview 1. Мы рекомендуем вам использовать предварительные сборки, если вы хотите попробовать .NET 7 с продуктами семейства Visual Studio. Поддержка Visual Studio для Mac для предварительных версий .NET 7 пока недоступна, но скоро появится.

Современный клиент: .NET Multi-platform App UI (.NET MAUI)

.NET MAUI — это будущее кроссплатформенного нативного пользовательского интерфейса с .NET, и он станет частью .NET 7. Во вторник мы выпустили .NET MAUI Preview 13. В настоящее время мы сосредоточены на поддержке .NET MAUI для .NET. 6, и мы ожидаем скоро выпустить релиз-кандидат (RC). После того, как у нас будет доступный RC, мы сосредоточимся на поставке дополнительных RC, пока не достигнем качества, необходимого для общедоступности (GA). После того, как .NET MAUI GA будет выпущен для .NET 6, мы включим его в .NET 7 и рассмотрим улучшение внутреннего цикла разработки, поддержку новейших инструментов .NET SDK, более высокую производительность приложений, совместное использование большего количества кода и расширенный история взаимодействия. Ознакомьтесь со статусом .NET MAUI и дорожной картой проекта для получения дополнительной информации.

Современное облако: Cloud Native и контейнеры

Облачные нативные приложения создаются с нуля, чтобы использовать преимущества современных веб-ресурсов, таких как службы баз данных и размещенные контейнеры. Облачная архитектура может улучшить масштабирование крупных приложений за счет создания автономных подсистем (обычно называемых микросервисами), которые развертываются и масштабируются независимо от других областей приложения, снижая затраты в долгосрочной перспективе. Архитектура микросервисов является популярным подходом, поскольку она гибкая и предназначена для развития и масштабирования до пределов, которых трудно достичь в монолитной архитектуре.

NET 7 упростит создание облачных приложений за счет улучшений для разработчиков, таких как:

  • Упрощение установки и настройки, необходимых для реализации безопасной аутентификации и авторизации

  • Улучшение производительности запуска и выполнения приложений.

Мы продолжим инвестировать в Orleans, кросс-платформенную платформу .NET для создания распределенных приложений, которую называют «распределенной .NET». Мы продолжим улучшать исчерпывающую документацию по Orleans и упрощать ее использование и внедрение, улучшая интеграцию Orleans с существующими облачными службами, такими как Azure App Services и Azure Container Apps.

Контейнеры сегодня являются предпочтительным способом развертывания облачных приложений и микросервисов для многих компаний. Использование контейнеров сопряжено с рядом проблем, включая управление соответствием требованиям, создание и публикацию образов, защиту изображений и оптимизацию размера и производительности образов. Мы считаем, что есть возможность улучшить взаимодействие с контейнерами .NET.

Чтобы помочь клиентам справиться с этими проблемами, мы планируем внести значительные улучшения в разработку .NET с помощью контейнеров в .NET 7. Например, мы рассмотрим создание контейнеров непосредственно через MSBuild в качестве новой возможности SDK. Мы планируем улучшить телеметрию, чтобы улучшить наблюдаемость контейнеров. Мы также сосредоточимся на том, чтобы сделать наши образы контейнеров меньше, быстрее и безопаснее, одновременно изучая востребованные модели, такие как без корневого доступа и без дистрибутива.

Модернизация: обновление приложений .NET

С момента выпуска .NET 6 разработчики обновляют свои приложения, чтобы воспользоваться новыми преимуществами повышения производительности, такими функциями производительности, как минимальные API и горячая перезагрузка, новыми инновациями среды выполнения и языка C#, а также доступностью зрелой экосистемы библиотек и инструментов. В .NET 7 мы продолжим предоставлять вам возможность переносить ваши существующие приложения .NET на новейшие платформы и технологии .NET. Дополнительные анализаторы, средства исправления кода и поддержка дополнительных типов приложений в помощнике по обновлению .NET помогут вам уверенно обновлять еще больше вашего портфеля приложений и тратить меньше времени на повторяющиеся задачи, связанные с обновлением.

Мы также знаем, что у каждой из моделей приложений .NET (ASP.NET, WinForms, WPF и т. д.) есть свои уникальные проблемы с модернизацией и может отсутствовать функциональность, необходимая вам как разработчику, или поддержка самой платформы. Для некоторых из них, таких как WCF, у вас может не быть четкого направления. Мы сосредоточимся на предоставлении соответствующих руководств, документации и инструментов, чтобы упростить обновление этих моделей приложений .NET.

Поддержка

.NET 7 является текущим выпуском, то есть он будет получать бесплатную поддержку и исправления в течение 18 месяцев с даты выпуска. Важно отметить, что качество всех релизов одинаково. Единственная разница между LTS и Current выпусками — это продолжительность поддержки. Дополнительные сведения о политиках поддержки .NET см. в официальной политике поддержки .NET и .NET Core.

Preview 1

Эти фичи стали доступны в .NET 7 Preview 1.

Nullable annotations для Microsoft.Extensions

Мы добились прогресса в аннотировании библиотек Microsoft.Extensions.* в рамках nullability. В .NET 7 Preview 1 следующие библиотеки были аннотированы для поддержки значений NULL:

  • Microsoft.Extensions.DependencyInjection.Abstractions

  • Microsoft.Extensions.Logging.Abstractions

  • Microsoft.Extensions.Primitives

  • Microsoft.Extensions.FileSystemGlobbing

  • Microsoft.Extensions.DependencyModel

  • Microsoft.Extensions.Configuration.Abstractions

  • Microsoft.Extensions.FileProviders.Abstractions

  • Microsoft.Extensions.FileProviders.Physical

  • Microsoft.Extensions.Configuration

  • Microsoft.Extensions.Configuration.Binder

  • Microsoft.Extensions.Configuration.CommandLine

  • Microsoft.Extensions.Configuration.EnvironmentVariables

  • Microsoft.Extensions.Configuration.FileExtensions

  • Microsoft.Extensions.Configuration.Ini

  • Microsoft.Extensions.Configuration.Json

К моменту выпуска .NET 7 мы планируем аннотировать все библиотеки Microsoft.Extensions.*, чтобы они могли принимать значения NULL. Вы можете просмотреть оставшиеся библиотеки и следить за ходом их выполнения на dotnet/runtime#43605.

Наблюдаемость

Продолжаем улучшать API трассировки:

  • Добавление перегрузки к ActivityContext.TryParse позволяет анализировать и создавать объект ActivityContext, в том числе, если контекст действия был распространен из удаленного родителя (связанный запрос).

  • Добавление метода Activity.IsStopped(), чтобы указать, остановлен ли объект Activity (связанный запрос).

И это далеко не все. Больше новинок — тут.

Дальше — больше

Глобальная и разнообразная команда инженеров Microsoft в сотрудничестве с активным сообществом разработчиков создает .NET 7. Широкое сообщество .NET, включающее всех, от студентов и любителей до разработчиков по с открытым исходным кодом и корпоративных клиентов. Они предлагают новые идеи, регулярно добавляют код и продвигают экосистему .NET вперед. Мы ценим и благодарим вас за вашу поддержку, вклад и идеи.

Добро пожаловать в .NET 7.

Читайте так же: