.NET 11 Preview 6: обновлённый CollectionView на Windows и новый Android Shell

Microsoft выпустила .NET 11 Preview 6, который привносит значительные архитектурные и эксплуатационные улучшения в .NET MAUI. Главные нововведения — обновлённый CollectionView для Windows, переход Android Shell на модель handler, улучшение совместимости с Native AOT и поддержка восстановления прерва

.NET 11 Preview 6: обновлённый CollectionView на Windows и новый Android Shell

Microsoft выпустила .NET 11 Preview 6, который привносит значительные архитектурные и эксплуатационные улучшения в .NET MAUI. Главные нововведения — обновлённый CollectionView для Windows, переход Android Shell на модель handler, улучшение совместимости с Native AOT и поддержка восстановления прерванных операций MediaPicker. Эти изменения направлены на повышение производительности, стабильности и удобства разработки кроссплатформенных приложений.

CollectionView на Windows: новая реализация

В .NET 11 Preview 6 CollectionView для Windows перешёл на новую архитектуру. Ранее CollectionView использовал старую реализацию, основанную на ListView, что приводило к проблемам с производительностью и ограниченной функциональности. Новая версия построена на базе современных компонентов WinUI, что обеспечивает плавную прокрутку, поддержку виртуализации элементов и корректную работу с группировкой. Разработчики теперь могут использовать CollectionView на Windows с тем же набором возможностей, что и на Android и iOS, включая кастомные шаблоны и анимации. Это устраняет необходимость в платформенно-специфичных обходных путях и упрощает кроссплатформенную разработку.

Android Shell переходит на модель handler

Другое важное изменение — Android Shell постепенно переводится на модель handler. Ранее Shell на Android использовал рендереры, что усложняло поддержку и настройку. Модель handler, уже применяемая в других элементах MAUI, обеспечивает более чистую архитектуру, лучшую производительность и упрощает кастомизацию. В Preview 6 реализована поддержка handler для основных компонентов Shell: TabBar, Flyout и Navigation. Это позволяет разработчикам легче переопределять поведение и внешний вид навигации, а также снижает вероятность ошибок при обновлениях. Полный переход ожидается к финальному релизу .NET 11.

Чем отличается модель handler от рендереров?

Модель handler — это современная архитектура в .NET MAUI, которая заменяет старую систему рендереров. Вместо создания платформенно-зависимого класса для каждого элемента, handler связывает виртуальный элемент с нативным через легковесный прокси. Это упрощает код, улучшает производительность и облегчает поддержку. Например, для кастомизации TabBar теперь достаточно написать handler, а не создавать полноценный рендерер. Разработчикам, переходящим с Xamarin.Forms, будет проще адаптироваться, так как концепция похожа на эффекты, но более гибкая.

Улучшения Native AOT и MediaPicker

.NET 11 Preview 6 также включает улучшения для Native AOT (Ahead-of-Time компиляции). Native AOT позволяет компилировать .NET приложения в нативный код, что уменьшает размер и время запуска. В этой версии улучшена совместимость с MAUI: исправлены ошибки, возникавшие при сборке проектов с Native AOT, особенно для Windows и Android. Разработчики могут теперь использовать Native AOT для MAUI-приложений с меньшим количеством ограничений, хотя некоторые функции, такие как рефлексия, всё ещё требуют осторожности.

Кроме того, MediaPicker получил поддержку восстановления после прерывания. Если пользователь отменяет выбор медиафайла или приложение переходит в фоновый режим, операция теперь может быть корректно завершена или возобновлена. Это особенно важно для приложений, работающих с камерой или галереей, где прерывания неизбежны. Разработчики могут обрабатывать такие сценарии с помощью новых событий и статусов, что повышает надёжность пользовательского опыта.

Кого затронут изменения

Обновление в первую очередь полезно разработчикам, создающим кроссплатформенные приложения на .NET MAUI. Те, кто использует CollectionView на Windows, получат значительный прирост производительности и функциональности. Разработчики, кастомизирующие Shell на Android, смогут упростить код благодаря handler. Команды, стремящиеся к минимизации размера приложения, оценят улучшения Native AOT. Наконец, приложения с функциями фото/видео станут стабильнее благодаря восстановлению MediaPicker. В российском и СНГ-сообществе .NET эти изменения помогут ускорить внедрение MAUI в продакшн, особенно для Windows-приложений.

Что будет дальше

Microsoft продолжит развивать .NET 11 Preview до финального релиза, запланированного на ноябрь 2026 года. Ожидается, что в следующих превью будет завершён переход Android Shell на handler, а также появятся дополнительные оптимизации производительности и исправления для Native AOT. Разработчикам рекомендуется тестировать свои проекты с Preview 6 и сообщать о проблемах через GitHub. После финального релиза .NET 11 MAUI станет рекомендуемой платформой для новых кроссплатформенных проектов.

Итог

.NET 11 Preview 6 — важный шаг в эволюции MAUI: CollectionView на Windows наконец получил современную реализацию, а Android Shell движется к более гибкой архитектуре. Улучшения Native AOT и MediaPicker повышают надёжность и производительность. Разработчикам стоит изучить новую версию, чтобы подготовиться к финальному релизу и улучшить свои приложения.