Microsoft опубликовала предварительную версию .NET 6, которая завершит унификацию .NET. В список улучшений вошла поддержка пользовательского интерфейса мультиплатформенных приложений MAUI для Android и iOS, развитие Blazor и однофайловых приложений.
Новые возможности для разработчиков
По словам Ричарда Ландера, одного из лидеров команды .NET Core в Microsoft, в основе .NET 6 лежит реализация последних частей плана унификации .NET, который начался с .NET 5. Ожидается, что этот выпуск будет включать важные улучшения во всех частях .NET, включая облачные, настольные и мобильные приложения.
«Главное изменение в этом выпуске – полная интеграция Android и iOS как части существующих рабочих нагрузок Xamarin. Что потребует интеграции набора кода, систем сборки и других технологий, а также интеграции блогов, документации и примеров», – сказал Ричард Ландер из Microsoft.
По словам Ландера, новые функции полезны для всех разработчиков .NET. Для разработчиков настольных приложений – это возможности для привлечения новых пользователей. Разработчики мобильных приложений извлекут выгоду из использования основных инструментов и API для iOS и Android. Разработчикам веб-приложений станет проще выпускать службы для мобильных приложений и делиться с ними кодом.
Релизы, платформы и поддержка
Стабильный релиз .NET 6 выйдет в ноябре 2021 года. В него внесены улучшения для облачных, десктопных и мобильных приложений.
Предварительная версия уже доступна в разделе загрузок сайта Microsoft. До ноября запланировано еще несколько превью.
Стабильная версия .NET 6 будет поддерживаться в течение трех лет, как выпуск с долгосрочной поддержкой (LTS). Поддерживаемые платформы значительно расширены по сравнению с .NET 5 и включают:
- Android;
- iOS;
- Mac и Mac Catalyst для x64 и Apple Silicon «M1» на Arm64;
- Windows Arm64.
Разработан пользовательский интерфейс многоплатформенных приложений MAUI, который представляет собой современный набор инструментов, основанный на Xamarin. На данный момент интерфейс MAUI поддерживает Android и iOS.
Унификация
Microsoft интегрирует возможности Android, iOS и macOS, которые являются частью Xamarin в .NET 6.
Microsoft расширяет возможности Blazor – бесплатной веб-платформы с открытым исходным кодом, позволяющей создавать веб-приложения на C# и HTML. Появилась возможность реализовывать с помощью Blazor гибридные клиентские приложения для настольных и мобильных сценариев применения. При этом используется единый подход к построению интерфейса для веб-страниц и десктопных приложений.
С выходом .NET 5 в ноябре 2020 года, Microsoft положила начало унификации, сделав упор на миграцию кода из .NET Framework в .NET 5 и заложив основу для Xamarin. Унификация .NET создает единую систему с библиотекой базовых классов и набором инструментов из отдельных технологий .NET Core, .NET Framework и Xamarin.
Что нового в .NET 6 Preview 1
Быстрый внутренний цикл
Для быстрой сборки и изменения кода Microsoft внедрила новую модель перезагрузки «горячего» кода. Быстрый внутренний цикл значительно ускорит сборку, а также позволит вносить изменения в код в ходе рабочего процесса без его перезапуска, пропуская сборку.
ARM64
В рамках поддержки оборудования на ARM64 команда разработчиков .NET 6 сосредоточила внимание на функциональной составляющей: для Windows Arm64 добавлена поддержка Windows Forms и Windows Presentation Framework. На Mac добавлена R03;R03;поддержка чипов Apple Silicon с архитектурой Arm64.
Производительность
С помощью оптимизации под управлением профиля (PGO) разработчики увеличили производительность запуска и выполнения в .NET 6.
Однофайловые приложения
В .NET 6 добавлена поддержка однофайловых приложений для Windows и MacOS . В .NET 5 их сфера применения была ограничена только операционной системой Linux.
Однофайловые приложения могут быть упакованы в один исполняемый файл и содержать в составе собственные двоичные файлы, файлы конфигурации и т.д. При этом все компоненты запускаются прямо из пакета без необходимости извлечения на диск – в том числе, в режиме отладки.