BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Windows Community Toolkit for UWPの概要

Windows Community Toolkit for UWPの概要

原文(投稿日:2018/08/13)へのリンク

Microsoftは、ビジネス開発者の持つ一連のニーズに対応するために、UWP用のWindowsコミュニティツールキットを提供している。変化の著しいこのライブラリは、新しいUWPコントロールと新機能をテストする場としての役割を持つ。

開発当初、UWPの主な対象はスマートフォンとタブレットだった。すなわち、開発予算の大部分が、制限されたコンテンツ表示スペース内で良好に機能するために費やされていた。データグリッドやドッキングパネルは存在しなかった。ラップパネルもなかった。コントロールをラップしなければならないほど、画面が広くなかったからだ。

しかしながら、その後、Microsoftがその注目先を大画面のビジネス開発者のニーズに転じたことにより、実施すべきキャッチアップが数多く存在することになった。不足しているコントロールや機能に関するイテレーションを迅速に実行する必要があるため、Windows 10のリリースサイクルに縛られていては不可能だ。そこでWindows Community Toolkitが登場することとなった。

Windows Community Toolkitは、次の3つの原則に基づいている。

  • 原則1:シンプルさを維持する。
  • 原則2:Windows 10用のWindows SDKで同等の機能が使用可能になった場合は、直ちに廃止予定(deprecated)のマークをする。
  • 原則3:Windows SDK for Windows 10の2回のリリースサイクルでサポートされるか、別の原則が適用されるまでは、すべての機能をサポートする。

この原則が真に意味するのは、すべての機能をプレビュー版として認識すべきだ、ということだ。 コントロールや機能が安定すれば、ライブラリから外されて、プラットフォーム自体に移行する。この事実は3.0バージョンで実証済みである。このバージョンは、わずか2ヶ月前にリリースされたにも関わらず、すでにバージョン4.0に置き換えられている。

レイアウトコントロール

Windows Community Toolkitには、ドックパネルラップパネルなど、WPF開発者ならば当然のように使用するレイアウトコントロールも用意されている。ただし、ベーシックなタブコントロールはなく、5.0リリースに暫定スケジュールされている。その他には、次のようなレイアウトコントロールがある。

  • AdaptiveGridViewは、使用可能な表示領域を全体で満たすように、均等に配置された列のセットにアイテムを表示し、レイアウトとコンテンツの変更に反応する。
  • BladeViewは、MasterDetailViewと連携して、“Azure Portalに基づいた方法で動作”する。
  • MasterDetailsViewは、Windows 10のEメールアプリケーションのような表示をする。
  • StaggeredPanelは、最も短い列に項目が追加される列レイアウトで、ダッシュボードウィジェットに便利だ。

他には、CarouselDropShadowPanelOrbitViewRotatorTileといった、見栄えのよいビューもある。

その他のコントロール

その他のコントロールは、入力コントロールを除けば、主にメニューやコンテント表示に関連するものである。特に興味深いコントロールはMarkdownTextBlockだ。その名が示すように、フォーマットされたマークダウンを表示する読み取り専用のコントロールで、もともとはBaconitとして、オープンソースのRedditアプリ用に開発されたコントロールである。

アニメーションとブラシ

一般的にビジネスアプリケーションでは使用されないが、必要ならばツールキットにある15種類のアニメーションから選択することができる。さらに、特殊なブラシを使用すれば、アプリケーションの外観を変更することも可能だ。(古びた外観を実現するセピアブラシなども用意されている。)

エクステンションとヘルパ

LOB開発者にとってさらに便利なのが“エクステンション”だ。これによってアタッチされるプロパティを使用すれば、テキストボックスの入力マスクの適用やアイテムへのクリックイベントの追加、リストビューの表示色の変更、コントロール上に移動した時のマウスポインタの変更などが簡単に実現できる。

ヘルパは、コントロールとは直接対話しないユーティリティクラスで、印刷、ディスクおよびネットワークI/O、オブジェクトストレージ、Bluetooth通信などが含まれる。大部分は、おそらくは自身で何度も書いたことのある内容だろう。

サービスとパーサ

このクラスセットは、BingやFacebook、LinkedIn、OneDrive、Twitterなど、MicrosoftおよびサードパーティのWebサービスを扱うためのものだ。場違いに思えるかも知れないが、RSSやMarkdownのパーサもこのツールキットに含まれている。

Windows Community Toolkitのテーマのひとつに立ち返ることで、UWPプラットフォーム上のアプリケーションを短期間で開発することができる。

Windows Community Toolkitは、MITライセンスの下でオープンソースとして配布されている。

本シリーズの次回の記事では、UWPアプリケーションの新しいウィンドウニングオプションについて検証する。

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT