Microsoft、「Windows Community Toolkit」のアップデートを発表 次期バージョンで何が変わる?:単一コードでWindows関連のUIフレームワークに対応できる
Microsoftは「Windows Community Toolkit」の最新アップデートとして、新しい「Windows Community Toolkit Labs」コンポーネントと、「vNext」と呼ぶ次期バージョンのプレビュー版を紹介した。
Microsoftは2023年4月20日(米国時間)、「Windows Community Toolkit」(WCT)の最新のアップデートを発表した。
WCTは、Windows 10/11対応のユニバーサルWindowsプラットフォーム(UWP)アプリケーションおよびWinUI 3/WinAppSDKアプリケーションなどの開発を支援するオープンソースのヘルパー関数、カスタムコントロール、アプリサービスを含むツールキットだ。
Microsoftは2022年に、WCTの新しい機能やコンポーネントを開発するための新しいインフラとなる「Windows Community Toolkit Labs(Preview)」のGitHubリポジトリを発表した。現在、このリポジトリを使って単一のコードベースで、UWP上のWinUI 2、Windows App SDKおよびWinUI 3、Uno Platform(WinUI 2または3を使用)で動作するコンポーネントを作成できる。また、単一コードベースのテストコードは、WinUI 2と3の両方に対して、CI(Continuous Integration:継続的インテグレーション)で自動的に実行される。
Microsoftは、同リポジトリで公開した新しいWCTコンポーネントを紹介した他、「vNext」と呼ぶWCTの次期バージョンのプレビュー版も発表した。
WCT Labsの新コンポーネント
Microsoftは2023年4月12日、WCT Labsの新コンポーネントを紹介する動画をYouTubeで公開した。新コンポーネントは以下の通り。
- MarqueeText:自動スクロールするTextBlock
- Segmented:ビューや設定を素早く構成するための共通パターン
- Shimmer:プレースホルダーを読み込むエフェクト
- TokenView:チット/タグ/トークンの選択可能な表示
- TransitionHelper:UIレイアウト間を遷移するためのアニメーションヘルパー
WCT vNextプレビュー版
Microsoftは2023年4月20日に、既存のWCTコードを新しいWindows Community Toolkit Labsインフラに移植するための新しいステージングリポジトリを開設したことも発表した。WCTの以下のような最も一般的なヘルパーなどが同リポジトリでサポートされている。
- AttachedDropShadow
- Behaviors
- Converters
- Extensions
- DispatcherQueue
- FrameworkElement(ActualSize、RelativeAncestor)
- Foundation Types(Point、Size、Rect)
- Icon Markup
- Visual / Logical Tree
- Primitive Panels
- ConstrainedBox
- DockPanel
- StaggeredPanel/Layout
- SwitchPresenter
- UniformGrid
- WrapPanel/Layout
- Sizers(新規)
- Triggers
これらをはじめとするWindows Community Toolkit Labsベースの新しいWCTコンポーネントはそれぞれ、以下の2セットのパッケージがあり、各パッケージのバージョンは、「8.0.0-beta.#」となっている。同バージョンのパッケージが「vNext」と呼ばれている。
- CommunityToolkit.Uwp.*:UWP上のWinUI 2、またはUno.UIに対応
- CommunityToolkit.WinUI.*:Windows App SDKとWinUI 3、またはUno.WinUIに対応
WCT vNextの目標
MicrosoftはWCT vNextで、WCTのメンテナンスやコード貢献をより容易にすることを目指している。vNextでは、WCTやサンプルアプリ全体を構築することなく、個々のコンポーネントに集中し、作業を開始できるようになっている。
個々のコンポーネントのドキュメント、サンプル、テストは、単一のスコープが設定されたソリューションとなっている。これにより、ある機能に関連する全てのものがどこに属するかを探し回ることなく、どこでコードベースに価値を加えるかを簡単に見つけられるようになった。
1つの名前空間
上に挙げたパッケージの種類にかかわらず、パッケージ内のコードの名前空間は、「CommunityToolkit.WinUI.*」というルートで統一されている。そのため、複数のプラットフォームをターゲットにしたり、プラットフォーム間で移行したりする場合でも、WCTを参照するコードを変更する必要はない。
この統一は、ライブラリ作者とアプリ開発者の両方に役立つ。ただし、新しいvNextパッケージと既存の「WCT 7.x」パッケージを組み合わせると、名前空間の変更と共通コード(Visual Tree拡張機能など)の依存で問題が発生することがある。
Microsoftは、vNextへの移植を望むWCT 7.xパッケージがあれば、要望を知らせてほしいと呼び掛けている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Microsoft、「Windows Community Toolkit v5.1」を公開
Microsoftは、オープンソースのUWPアプリ開発ツールキットの最新版「Windows Community Toolkit v5.1」を公開した。画像処理関連の拡張などを施した。 - 「.NET 8 Preview 1」公開、“クラウドネイティブ開発のための最高のプラットフォーム”目指す
Microsoftは、オープンソースでクロスプラットフォームのアプリケーション開発プラットフォームの次期バージョン「.NET 8」の最初のプレビュー版を公開した。 - クロスプラットフォーム開発「.NET MAUI」のデスクトップアプリ開発に使える5つの機能とは
Microsoftは、「.NET MAUI」で優れたデスクトップアプリケーションを作成するための主要機能として、「マルチウィンドウ」「トップレベルメニューバー」「コンテキストメニュー」「ツールチップ」「ポインタジェスチャ」を紹介した。