このページの本文へ

前へ 1 2 次へ

Windows Info 第269回

UWPとデスクトップアプリの統合を試みる「Project Reunion」のプレビュー版が登場する

2021年04月04日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 Project Reunionのプレビュー0.5が公開され、プロジェクトはその中間地点まで来たようだ。今回は、Project Reunion 0.5(以下、Reunion 0.5などと略記する)の発表を“祝し”、その解説をする。

現在のデスクトップアプリはWin32API、UWPはModern APIしかアクセスできないが、Project Reunionは、間に入ってアプリケーションに両方のAPIを提供できるようにする(ProjectReunion GitHubドキュメント(英語)より引用 https://github.com/microsoft/ProjectReunion/blob/main/docs/README.md)

 Reunionの背景的な部分については、本連載で昨年8月に扱った。概要については、その記事を参照していただきたい。

●UWPからデスクトップアプリに回帰すべく、MSが送り出した「Project REUNION」
 https://ascii.jp/elem/000/004/014/4014034/

 簡単に言えば、Project Reunionとは、分離させたUWPとデスクトップ環境を統合して、どちらでも同じようなアプリケーションが開発できるようにするためのものだ。昨年の時点では、概要しかわからなかったが、Reunion 0.5で具体的な成果が発表されて、内容が見えてきた。

あらためてUDPとDWPの関係をおさらいする

 現在のWindowsには、大きく2つのアプリケーション動作環境がある。それがDesktop Windows Platform(デスクトップ環境)とUWP(Universal Windows Platform)だ。両者は、APIやアプリケーションの挙動などに違いがある。

 これまでMicrosoftは開発者をUWPに移行させようと、UWPを強化してきた。しかし、まったく人気がなく、多くのデスクトップアプリケーションはUWPには移行しないままだった。

 そのため、UWP唯一の配付場所(インストールポイント)であったMicrosoftストアは閑古鳥が鳴いていた。というのも、UWPにはセキュリティのために「サンドボックス」というキツい制限がかけられており、できることも限られていたからだ。そこで、UWPへの移行は断念し、デスクトップアプリにもUWPで開発した新しいUIやAPIを利用できるようにすることを目的にしたProject Reunionを開始したわけだ。

 Reunionは、Microsoftが進めている.NET Coreをベースにしたマルチプラットフォーム対応をさらに前進させる。Microsoftの「なんとかCore」と呼ばれる技術は、すべて、Windowsが内蔵していた機能をWindowsから切り離して、マルチプラットフォーム展開するためのものだ。

Project Reunionには何が含まれているのか?

 Project Reunionに、UWPで使われていたGUI要素(UWP XAMLやWinUIと呼ばれていた)が含まれることは前記の記事で解説した。具体的には、以下の機能がReunionでは開発され、デスクトップアプリから利用できるようになる。

WinUI3
DirectWriteCore
MRT Core
アプリのライフサイクル
電源状態通知
ウィンドウ管理

 「WinUI」とは、現在のUWPで使われているGUI部品などからなるGUIフレームワーク(かつてはUWP XAMLと呼んで、Win32 WPFのXAMLと区別していた)である。UWPが現在利用しているWinUI2をベースに開発したWinUI3を使うことで、デスクトップアプリケーションは、UWPのGUI部品を利用できるようになり、見た目をUWPアプリと同じように開発できる。

 「DirectWrite Core」は、Windowsに組み込まれていたDirectWriteを独立させたものだ。DirectWriteは、DirectX(Direct3D)の上に作られた2次元の文字描画システムで、文字のレイアウトやフォント処理(ラスタライザー)、言語処理などを含んでいる。DirectWriteはWindowsに組み込まれているため、DirectWriteのバージョンアップはWindowsのバージョンアップと同期する。このため、古いWindowsでは古いバージョンのDirectWriteしか搭載されていない。

 DirectWrite Coreは、DirectWriteをWindowsから切り離し、動作環境とは独立して最新機能を提供できるようにした。これにより、最新のDirectWrite Coreを使って作られたアプリは、Reunionの対象プラットフォーム(ReunionではRS5、Windows 10 Ver.1809以降をターゲットにしている)であれば、古いものであっても最新のDirectWrite Core機能が利用できるようになる。

 「MRT Core」は、現在UWPアプリで使われているリソースの管理機構MRT(Modern Resource Tooling)を簡易バージョンとして独立させたもの。MRTは、その機構からPRI(Package Resource Index)などとも呼ばれ、UWPのパッケージであるAPPXで使われている。Reunionでは、このMRT Coreを主にデスクトップアプリのローカライゼーションのためのメッセージ文字列管理などに利用する。なお、PRIに関しては簡単ながら、過去記事で扱ったことがある。以下の記事を参考にされたい。

●Windows 10に標準搭載のUWPアプリの中身を掘り下げる
 https://ascii.jp/elem/000/001/922/1922662/

 「アプリのライフサイクル」とは、UWPアプリの起動から終了までの振る舞いのことだ。UWPアプリは、フォーカスを失うと停止され、必要に応じてメモリからも削除される。このため、すべてのUWPアプリは、停止するときに状態を記憶し、復帰後にフォアグラウンドのときの状態に復帰できるように作られている。これは、主にバッテリ消費やメモリの有効活用などのためだ。Reunionでは、このライフサイクルをデスクトップアプリケーションでも対応できるようにする。

 「電源状態通知」は、UWPに対してなされている電源状態イベントをデスクトップアプリからも利用できるようにするものだ。上記のライフサイクルに関連して、アプリは電源状態をより細かく判断できるようになり、電源状態に応じた処理切り替えなどが可能になる。

 デスクトップアプリであるWindows FormsアプリなどとUWPでは、アプリから行なうウィンドウの制御が完全に違っている。Win32APIでは、ウィンドウハンドルをベースにして、整数のドットアドレスでウィンドウのサイズや位置を管理する仕組みを使う。

 これに対してUWPでは、ウィンドウの自由な拡大や、マルチディスプレイでの拡大率の違いなどに対応するため、浮動小数点でウィンドウの位置やサイズを表現している。この2つのAPIには大きな機能の違いがある。Reunionは、WindowsのウィンドウマネージャーであるUser32から旧来のウィンドウ管理APIの機能を独立させ、UWPアプリのウィンドウ管理APIと同時に利用できるようにする。

 Reunionは具体的には、Visual Studioなどの開発環境を強化するモジュールなどの開発側のソフトウェアと、Reunionでアプリケーションを作るための「Reunion Framework」を定義し、そのランタイムパッケージ(アプリケーションの実行時に必要になるソフトウェアモジュール)である「Reunion Framework Package」を提供する。

Project Reunionは、ランタイムとなる「Reuinon Framework Pagkage」をMicrosoftストア経由で配布し、Reuinon対応アプリ側は、ランタイムパッケージへの依存条件を持ち、適切なパッケージを選択する。このための仕組みもProject Reunionには含まれるようだ(Microsoftサイト Deploy apps that use Project Reunionより引用、https://docs.microsoft.com/en-us/windows/apps/project-reunion/deploy-apps-that-use-project-reunion#updates-and-versioning-of-the-framework-package)

 このランタイムパッケージは、Microsoftストア経由で配布されるとのこと。なお、Reunion自体には、このランタイムパッケージのバージョン依存性(開発時よりも後のバージョンのランタイムを使うかどうか)を判断するための「Deploy Option」機能が含まれ、Reunionアプリケーションは、これによりランタイムとの整合性を取るようだ。

前へ 1 2 次へ

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,413
2
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥7,313
3
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,899
4
CIO フラットスパイラルケーブル CtoC (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps 形状記憶 iPhone 17 / 16 / 15 Macbook Pro/Air/iPad用/ノートパソコン Galaxy Google Pixel Android (ライトブラック, 1.5m)
CIO フラットスパイラルケーブル CtoC (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps 形状記憶 iPhone 17 / 16 / 15 Macbook Pro/Air/iPad用/ノートパソコン Galaxy Google Pixel Android (ライトブラック, 1.5m)
¥2,290
5
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
6
Anker Zolo USB-C & USB-C ケーブル (240W, 高耐久ナイロン) 1.8m ブラック iPhone 17 / 16 / 15 Galaxy iPad Pro MacBook Pro/Air 各種対応
Anker Zolo USB-C & USB-C ケーブル (240W, 高耐久ナイロン) 1.8m ブラック iPhone 17 / 16 / 15 Galaxy iPad Pro MacBook Pro/Air 各種対応
¥1,590
7
Anker Nano Charging Station (7-in-1, 100W, 巻取り式 USB-C ケーブル) (USBタップ 電源タップ) 【PSE技術基準適合】MacBook iPad iPhone Galaxy Android ブラック
Anker Nano Charging Station (7-in-1, 100W, 巻取り式 USB-C ケーブル) (USBタップ 電源タップ) 【PSE技術基準適合】MacBook iPad iPhone Galaxy Android ブラック
¥9,990
8
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
9
Verbatim バーベイタム 1回録画用 ブルーレイディスク BD-R 25GB 50枚+3枚増量パック インクジェットプリンタ対応 ホワイト 片面1層 1-6倍速
Verbatim バーベイタム 1回録画用 ブルーレイディスク BD-R 25GB 50枚+3枚増量パック インクジェットプリンタ対応 ホワイト 片面1層 1-6倍速
¥2,480
10
ソニー ゲーミングイヤホン INZONE Buds:WF-G700N Fnatic監修/ワイヤレス / 低遅延2.4GHzワイヤレス接続 USBType-Cトランシーバー同梱/LE Audio対応/アクティブノイズキャンセリング/立体音響 / 最大約24時間バッテリー / 急速充電/マイク付き / PS5 スマホ PC Switch グラスパープル
ソニー ゲーミングイヤホン INZONE Buds:WF-G700N Fnatic監修/ワイヤレス / 低遅延2.4GHzワイヤレス接続 USBType-Cトランシーバー同梱/LE Audio対応/アクティブノイズキャンセリング/立体音響 / 最大約24時間バッテリー / 急速充電/マイク付き / PS5 スマホ PC Switch グラスパープル
¥20,800

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

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