ニュース

「Windows Community Toolkit 7.0」が公開 ~「MVVM Toolkit」を導入。通知トーストも改善

「WinUI 3」への対応も進む

Microsoft、「Windows Community Toolkit」v7.0を発表

 米Microsoftは11月13日(現地時間)、「Windows Community Toolkit」v7.0を発表した。「Windows Community Toolkit」は、コミュニティ主導で開発されているオープンソースライブラリ。標準ライブラリに欠けている機能を補うことができる。

 今回のアップデートでは、ツールキット内の多くのパッケージがリファクタリングされた。アプリにコンポーネントを1つ追加しただけで、それに依存するコンポーネントが大量に参照されてしまうとアプリのバイナリサイズは不必要に肥大化してしまう。最新版ではこの問題が改善され、一般的な場合で80~90%ものフットプリント削減を達成できたという。ただし、アニメーションとコントロールパッケージをはじめ、破壊的変更が比較的多いので、アップグレードの際は注意したい。

 新機能としては、「MVVM Toolkit for .NET」の導入とWin32/.NET 5における通知サポートの改善が目玉。

 「MVVM Toolkit」はLaurent Bugnion氏の「MVVM Light」に触発され、Sergio Pedri氏を中心に約1年にわたって開発が続けられてきた。UWP、WPF、Xamarin、Uno Platformといった特定のアプリケーションプラットフォームに依存せず、.NET Native、.NET Core、.NET Framework、Monoなどの幅広いランタイムで動作するのが特徴で、MVVMパラダイムに従うという点以外には厳しい制限がなく、比較的自由に運用できるのが魅力。とくに複数のUIフレームワークをターゲットにしたクロスプラットフォームアプリを開発している場合には最適といえる。

 また、後発なだけあって設計が洗練されており、モダンであるのも利点で、パフォーマンスの向上にも注力されている。「NuGet」で「Microsoft.Toolkit.Mvvm」パッケージを追加すれば、アプリへ簡単に組み込むことができる。

「MVVM Toolkit」

 一方、「Microsoft.Toolkit.Uwp.Notifications」はWin32/.NET 5でWindows 10の通知トーストを使いやすくするパッケージだ。これまでは[スタート]画面にショートカットを登録するなどの煩雑な手順が必要だったが、このパッケージを利用すればほんの数行のコードで通知トーストを利用できるようになる。

 そのほかにも、最近の「Microsoft Office」で導入が進んでいるタブベースのコマンドバー(シンプル リボン)を追加。カラーピッカーの改善や、Switch文のようにXAMLを分岐できるスイッチプレゼンターが追加された。

タブベースのコマンドバー
カラーピッカーを改善

 「Windows Community Toolkit」は現在、パッケージ管理システム「NuGet」から無償で入手可能。「Windows Community Toolkit」に含まれる要素をチェックしたい場合は、サンプルアプリ「Windows Community Toolkit Sample App」の利用がお勧めだ。サンプルアプリは現在、“Microsoft Store”から無償でダウンロードできる。

「Windows Community Toolkit」に含まれる要素をチェックできるサンプルアプリ「Windows Community Toolkit Sample App」

 なお、「WinUI 3」や「Project Reunion」への対応を機に、パッケージ名の変更が予定されているので注意。既存のUWPパッケージは「Microsoft.Toolkit.Uwp.*」のままだが、WinUI向けの新しいパッケージは「CommunityToolkit.WinUI.*」になる。UWP+WinUI 2.xとWinUI 3のパッケージは当面の間並行してメンテナンスされるが、WinUI 3版にすべての機能が実装された時点でUWP+WinUI 2.xは版は非推奨となり、WinUI 3へ統一される見込みだ。