このページの本文へ

前へ 1 2 次へ

Windows Info 第433回

Windows 11の2つのウィジェットを調べる

2024年05月26日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷
Windows 11のウィジェット

Windows 11のウィジェットボードは、左の列がウィジェットで、右側2列はフィードになっている。実はウィジェットはそれほど多くなくて、標準状態でウィジェットボードの大半を専有しているのはフィードである

 Windows 11のウィジェットは、「ウィジェットボード」にウィジェットを登録して利用するものだが、これまでいろいろ変更が続いていた。そろそろ落ち着いたと思われるので、筆者も真面目に評価を始めた。

Windows Vistaにはガジェットが
Windows 8/10にはタイルを使って情報を表示できた

 Windows Vista時代、「ガジェット」と呼ばれる小さなアプリケーションを動作させる仕組みがあった。カレンダーや時計など、便利なツールがあったが、HTMLで記述するため、セキュリティ的な問題が多発。Windows 8で非対応になった。

 Windows 8では、スタートメニューが廃止され、全画面を使う「スタート画面」になったが、ここに「タイル」を配置することができた。

 タイルは、アプリケーションのショートカットであると同時に、アプリケーションが表示を制御可能だった。これは、Androidのホーム画面に配置できる「Widgets」のようにプログラムから更新できるオブジェクトだった。

 Windows 8では、アプリケーションが随時更新可能な「ライブタイル」を開発することができた。タイルは、Windows 10にも引き継がれた。スタートメニューにタイルを配置することが可能だった。

 Windows 10は途中まで、スマートフォン用のWindows 10 Mobileが存在し、そのホームページはWindows 10のスタート画面になっており、タイルを使って情報を表示させていた。このタイルは、Windows 11で廃止となり、その代用として登場したのがウィジェットだ。

Windows 11で新たに登場したウィジェット

 Windows 11のウィジェットは、

ウィジェットホスト
ウィジェット
ウィジェットプロバイダー

の3つの要素から構成される。ウィジェットは「アダプティブカード」として作られ、Windowsアプリケーションがこれを制御する。

 アダプティブカードは、Windows 10 Ver 1804で搭載され、Windows 11で廃止された「タイムライン」に採用されたカード形式の情報表示機能だ。JSONを使って記述する。

 Microsoftによればプラットフォームに依存しないオープンなUIコンテンツの交換形式だというが、筆者はWindowsでしか見たことがない。アダプティブカードに関しては、専用のサイト(Adaptive Cards(英語) https://adaptivecards.io/)がある。さらにデザイナー、各種プラットフォーム向けのSDK(GitHub microsoft/AdaptiveCards)も用意されている(https://github.com/microsoft/AdaptiveCards)。少なくともMicrosoftがアダプティブカードに力をいれているのはわかる。

 このウィジェットの表示を制御するWindowsアプリケーションを「ウィジェットプロバイダー」という。ウィジェットプロバイダーとなるアプリケーションは、IWidgetProviderというCOMインターフェイスを実装する必要がある。

 このインターフェースは、ウィジェットの登録(ピン留め)、削除(ピン留めを外す)、ウィジェットのアクション実行、サイズ変更やウィジェットボードが開きウィジェットが表示されたときなどに呼び出される。なお、ウィジェットプロバイダー・アプリは、ウィンドウを持ち、通常のアプリとして動作してもかまわないし、ウィンドウを持たず、GUIアプリケーションとして動作しなくても構わない。

 前者の例としては、Windows 11付属のスマートフォン連携やクロック(フォーカスセッション)などがある。また、C#、C++で開発できるほか、PWA(Progressive Web App)で作ることも可能だ。なお、ウィジェットの開発に関しては、Microsoftのサイト「Windows ウィジェット」(https://learn.microsoft.com/ja-jp/windows/apps/design/widgets/)に記事がある。

 ウィジェットを表示するのが「ウィジェットホスト」である。ウィジェットホストは、現在のところ、Windows 11に組み込まれている「ウィジェットボード」しかない。ウィジェットボードは、タスクバーのウィジェットアイコンから開く。

 Windows 11のウィジェットボードは、ウィジェットだけでなく「フィード」も表示する。ウィジェットボードを開いたとき、左側にあるのがウィジェット、右側に並ぶのがフィードである(記事冒頭画面)。

 フィードは、Windows 10のタスクバーにあった「ニュースと関心事項」とほぼ同じもの。「ニュースと関心事項」はWindows 10の途中で実装されたが、Windows 11では廃止され、ウィジェットボードが搭載された。なお、フィードの表示をやめると、ウィジェットを左右2列で表示できるようになる。

Windows 11のウィジェット

ウィジェットボード右上の歯車アイコンから設定をひらいてフィードをオフ(本文参照)にすると、ウィジェットだけが左右2列に並ぶようになる

もう1つの「ウィジェット」

 なお、Windows 11には、「ウィジェット」と呼ばれるものがもう1つある。それは、プレビュー中の開発者向けアプリDev Home(開発ホーム)に追加できるコンポーネントだ。以後これを開発ホーム・ウィジェットと表記する。この開発ホーム・ウィジェットは、Microsoftストアからインストールできる。インストールすると、Dev Homeのダッシュボードに登録可能だ。

Windows 11のウィジェット

Dev Homeのダッシュボードにも「ウィジェット」が配置できる。開発ホーム・ウィジェットは、Windows 11のウィジェットとは異なる仕組みも持っている。インストールした開発ホーム・ウィジェットのうち、IWidgetProviderインターフェースを使っているものだけが、ウィジェットボードに表示できる

 これをインストールするとWindows 11のウィジェットボードにもウィジェットが追加される。ただし、Dev Homeとウィジェットボードでは、追加可能なウィジェットが異なる。開発ホーム・ウィジェットは、1つのパッケージに複数の「Widget」が含まれている。そしてダッシュボードにはこれを登録できる。

 これに対して、Windows 11側のウィジェットボードでは、1つの開発ホーム・ウィジェットパッケージには1つのウィジェットしか含まれていないように見える。

 また、Dev Homeには、プリインストールされた開発ホーム・ウィジェットとして「開発ホーム(プレビュー)」というウィジェットが付属する。このため、開発ホームのインストールの有無で、ウィジェットボードにインストール可能なウィジェットが異なってくる。

 開発ホーム・ウィジェットの開発ドキュメントは、GitHubのDevHomeにある(https://github.com/microsoft/devhome/tree/main/docs/extensions)。

 これによれば、開発ホーム・ウィジェットはDev Home Extension SDKが提供する2つのプロバイダー・インターフェース(IDeveloperIdProviderとIRepositoryProvider)を使う。加えて、ウィジェット・プロバイダー(IWidgetProviderインターフェース)を使うウィジェットもサポートしているとある。

 こうした構造の違いがあるため、Dev Homeダッシュボードとウィジェットボードでは、同じパッケージが違って見える。つまり、ウィジェットボードでは、開発ホーム・ウィジェットのパッケージ中のウィジェットプロバイダーを利用するものだけしか見えない。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン