Posted on 17. April 2021

Анонс о Windows Community Toolkit v7.0

Read this article in your language IT | EN | DE | ES

После многих месяцев обновления Windows Community Toolkit множеством улучшений и функций; Microsoft рады сообщить, что сегодня доступна версия 7.0! Это снова стало возможным благодаря поддержке и вкладу сообщества разработчиков.

 Если вы новичок в наборе инструментов, набор инструментов сообщества Windows представляет собой набор помощников, расширений и настраиваемых элементов управления. Он упрощает и демонстрирует общие задачи разработчика для создания приложений UWP и .NET для Windows 10. Набор инструментов является частью .NET Foundation. Вы можете загрузить игровую площадку Sample App, чтобы открыть для себя и опробовать компоненты Toolkit перед тем, как начать работу над проектом.

Это новое обновление включает в себя совершенно новую библиотеку .NET Standard MVVM, более простые в использовании помощники Toast Notification для .NET и UWP, полностью обновленную систему анимации композиции для C # и XAML, новые элементы управления и многое другое !!!

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

В этом выпуске должно быть что-то для всех, поскольку он включает в себя широкий спектр функций.

См. Более подробную информацию об этих изменениях и новых функциях ниже.

 

Новая структура пакета и критические изменения 🚨

Microsoft провели рефакторинг многих пакетов в Toolkit. Это должно было помочь уменьшить количество дополнительных зависимостей для всего пакета, когда они требовались лишь небольшому количеству компонентов. Это позволило нам уменьшить влияние Toolkit на размер приложения в обычных сценариях на 80-90%.

 Если вы новичок в Toolkit или создаете новое приложение, вы можете пропустить этот раздел и перейти к нашим новым функциям ниже!

Проведенный рефакторинг больше всего повлиял на пакеты Animations и Controls. Основные наиболее важные изменения приведены ниже, но подробные сведения см. В примечаниях к выпуску.

• Пакет Animation теперь легче, чтобы напрямую поддерживать только анимацию C # и XAML.

• Разделили ссылку на Behaviors на новый пакет Microsoft.Toolkit.Uwp.UI., который включает в себя различные новые Behaviors и новые хуки для Animations.

• Пакет Controls теперь является метапакетом, который содержит различные подпакеты.

• Наличие родительского пакета должно упростить обновление.

• Дополнительные элементы управления, такие как DataGrid и макеты ItemsRepeater, теперь также будут включены по умолчанию, предоставляя вам доступ ко всему набору инструментов, который может предложить при начале работы.

• Пакет Controls теперь зависит от WinUI 2.5, что поможет нам обеспечить более согласованный стиль управления в дальнейшем и воспользоваться преимуществами последних исправлений и функций, которые может предложить платформа.

• Создав приложение, вы можете оптимизировать его, удалив пакет зонтичных элементов управления и включив только пакеты с необходимыми элементами управления.

• Все расширения были перемещены в корневое пространство имен для каждого пакета, чтобы упростить их обнаружение, использование и понимание того, откуда они берутся.

• Большинству для миграции достаточно просто изменить пространство имен/xmlns.

Примечание. Мы предлагаем перейти с использования Dispatcher на DispatcherQueue в соответствии с инструкциями по платформе. Это позволяет использовать компоненты в пределах островов XAML и WinUI 3.

• API-интерфейсы Guard и ThrowHelper перемещены в новый пакет Microsoft.Toolkit.Diagnostics.

• Помощники отложенных событий перешли в Microsoft.Toolkit, поскольку они совместимы с .NET Standard; в Microsoft.Toolkit.Uwp остались только специальные расширения событий UWP.

• Минимальная версия платформы компонентов UWP Toolkit теперь 1809 (17763), чтобы удалить большую часть условных накладных расходов на код XAML и привязаться к текущему выпуску Windows 10 с долгосрочным обслуживанием.

• Перенесли код компонента Gaze на C # для упрощения обслуживания и улучшений в будущем.

• Удалили зависимость Json Serializer по умолчанию из Microsoft.Toolkit.Uwp, которая добавляла значительные накладные расходы приложения, даже если они не использовались.

Примечание. При обновлении существующего приложения 6.1, в котором хранились сложные типы, вы должны убедиться, что вы тестируете обновление существующего хранилища данных или указываете сериализатор Newtonsoft.Json для обеспечения совместимости с существующим приложением.

• Однако теперь разработчик приложения может указывать, какой сериализатор они хотели бы использовать вместо этого, если им нужно поделиться данными с другими аспектами своего внешнего/внутреннего интерфейса.

См. Здесь дополнительные инструкции по указанию настраиваемого сериализатора и примеры использования System.Text.Json, Newtonsoft.Json или DataContractSerializer.

В рамках этого пути также улучшили процессы в самом наборе инструментов, добавив больше непрерывного интеграционного тестирования в конвейер, и у Microsoft есть Wiki с подробностями о том, как начать вносить свой вклад в набор инструментов!

 


MVVM Toolkit для .NET - Серхио Педри

TheMicrosoft.Toolkit.Mvvmpackage - это современная, быстрая и модульная библиотека MVVM. Он построен на следующих принципах:

Независимость от платформы и среды выполнения - .NET Standard 2.x🚀 (т.е. независимость от UI Framework Agnostic)

Простота получения и использования - Отсутствие строгих требований к структуре приложения или парадигмам кодирования (за пределами «MVVM»), т.е. гибкое использование.

À la carte - Свобода выбора, какие компоненты использовать.

Эталонная реализация - компактная и производительная, предоставляющая реализации для интерфейсов, которые включены в библиотеку базовых классов .NET, но не имеют конкретных типов для их прямого использования.

Пакет нацелен на .NET Standard, поэтому его можно использовать на любой платформе приложений: UWP, WPF, Xamarin, Uno Platform и других; и в любой среде выполнения: .NET Native, .NET Core, .NET Framework или Mono. Он работает на всех из них и предоставляет общую поверхность API для всех случаев.

Это значительно упрощает абстрагирование базовой модели и логики ViewModel от приложения позже, особенно для проектов, которые могут быть ориентированы на несколько платформ пользовательского интерфейса.

Созданием этой новой библиотеки было почти годичное усилие сообщества под руководством Серджио Педри и вдохновением от работы, проделанной Лораном Бюньоном MVVM Light. Команда Windows Template Studio также вносит поддержку библиотеки в свой набор шаблонов проектирования. Microsoft MVP (Мэтт Лейси, Джеймс Крофт, Ник Рэндольф, Дидерик Кролс и Мартин Зикмунд) и сообществом над разработкой, тестированием и проверкой основных сценариев библиотеки перед ее выпуском.

Здесь вы можете найти образцы и дополнительную информацию о MVVM Toolkit.

 


Улучшенная поддержка уведомлений для Win32 и .NET 5

 

Распакованные приложения Win32 C # теперь могут без труда использовать всплывающие уведомления, ярлык в меню «Пуск» не требуется! Просто вызовите следующий API, и это все!

new ToastContentBuilder()

.AddText("Hello toast!")

 

.Show();


new ToastContentBui

 

Кроме того, этот же упрощенный API одинаково работает и для UWP, и для упакованных приложений MSIXC #! Больше никаких longyToastNotificationManager.CreateToastNotifier (). Show (content.GetXml ()). Чтобы попробовать это, перейдите на страницу документации. В этом видео вы можете увидеть, как мы добавляем уведомления от начала до конца в приложение WPF менее чем за 2 минуты!

 


Явные помощники по анимации - 🏆 Серхио Педри

Как было сказано выше, мы обновили наш пакет Animations в наборе инструментов. Помимо этого, добавили новую систему ‘Explicit Animation’. Если вы использовали помощники по неявной анимации в прошлом, они вам понравятся!  

Есть не только мощный новый класс AnimationBuilder, который поможет вам создавать великолепные и мощные композиционные анимации в C #, но Microsoft также представили его для XAML. Посмотрите, что вы можете сделать ниже без кода программной части!

Теперь все ваши композиционные анимации могут быть выполнены с помощью красивого C # API или XAML, как и помощники неявной анимации, которые были так широко любимы в прошлом. Наслаждайтесь своими творениями и делитесь ими с #WindowsCommunityToolkit в Twitter.

 


TabbedCommandBar - 🏆 Йоши Асхарун


TabbedCommandBar - это интерфейс навигации на уровне приложения, который предоставляет гибкое пространство для управления командами в вашем приложении. Он обеспечивает знакомый интерфейс, который есть во многих приложениях для повышения производительности, и позволяет разработчику приложения группировать похожие команды вместе. Он также предоставляет возможность добавлять контекстные вкладки для отображения параметров, которые могут быть полезны только тогда, когда пользователь вносит определенные изменения в приложение.

 


Улучшенный ColorPicker - 🏆 Роберт Луенгоед


После обсуждений в WinUI GitHub о возрождении элемента управления ColorPicker сообщество сделало шаг вперед, чтобы представить себе новый опыт выбора цветов. Роберт разработал новую версию ColorPicker, чтобы каждый мог использовать и попробовать. Microsoft планирует предоставить обратную связь и улучшения, основанные на этом новом опыте, команды платформы, когда они в следующий раз обновят ColorPicker.

 


Switch Presenter - 🏆 Майкл Хокер


SwitchPresenter - это новый способ разметки и организации вашего XAML. Он предоставляет эквивалент инструкции switch из C# в XAML! Это может упростить группировку элементов, связанных со сценарием, вместо того, чтобы смешивать их вместе с помощью множества привязок видимости. Или вы можете использовать его, чтобы полностью заменить часть пользовательского интерфейса, основываясь на каком-то другом факторе. Посмотрите пример в документации.

 


На горизонте


Предварительный просмотр Project Reunion 0.5


Как вы, знаете, Microsoft предоставляет предварительные версии Toolkit, которые работают для WinUI 3, вместе с их предварительными версиями. Выпущена предварительная версию инструментария, который работает с настольными приложениями с .NET в предварительной версии Project Reunion 0.5, анонсированной на прошлой неделе. Узнайте больше о том, как попробовать.

 

Будущие изменения идентификатора пакета NuGet


Через несколько недель представят обновленную версию элементов управления на основе WinUI 3 для NuGet для Project Reunion 0.5. В рамках этого изменения также начнем использовать новый корневой идентификатор пакета CommunityToolkit. * Для пакетов. Существующие пакеты UWP останутся как Microsoft.Toolkit.Uwp. *; однако новые пакеты для WinUI будут находиться в CommunityToolkit.WinUI. *.

Microsoft планирует отказаться от пакетов UWP в тот момент, когда сообщество в целом может перейти на WinUI 3, если оно будет поддерживать функции, которые сообщество UWP знает и любит. До этого времени планируется поддерживать существующих разработчиков UWP в первую очередь с помощью существующих пакетов, созданных на основе UWP + WinUI 2.x, и поставлять параллельные версии для WinUI 3. Следовательно, каждый следующий выпуск набора инструментов для UWP (например, 7.1) будет иметь соответствующую версию 7.1, которая содержит тот же набор функций, но для WinUI 3 (за исключением того, что в настоящее время еще не поддерживается в WinUI 3).

 


Еще больше!


Не забудьте также ознакомиться с новым синтаксическим анализатором языка Win2D Path Mini от 🏆 Ratish Philip, обновлениями HighPerformance от Sergio Pedri и улучшениями приложения Lottie Viewer.

В этом выпуске есть множество исправлений, других помощников и улучшений, поэтому обязательно ознакомьтесь с примечаниями к выпуску, чтобы узнать все подробности!

 


Начни сегодня!


Напоминаем, что вы можете начать работу, следуя руководству на docs.microsoft.com, или просмотреть последние функции, установив образец приложения Windows Community Toolkit из Microsoft Store (оно также ссылается на каждую страницу документов). Если вы хотите внести свой вклад, присоединяйтесь на GitHub и ознакомьтесь с новой Wiki! Чтобы следить за беседой в Twitter - #WindowsCommunityToolkit или присоединяйтесь на канале в Discord сообщества UWP

 


 



.S






Источник 



Comments are closed