このページの本文へ

前へ 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 次へ

カテゴリートップへ

この連載の記事
1
【整備済み品】 富士通 ノートパソコン LIFEBOOK MU937 超軽量 薄型ノートPC■Win11搭載 / MS Office H&B 2019 / FHD(1920x1080)/第七世代 Celeron/8GBメモリ/SSD 256GB/Webカメラ内蔵/13.3インチ
【整備済み品】 富士通 ノートパソコン LIFEBOOK MU937 超軽量 薄型ノートPC■Win11搭載 / MS Office H&B 2019 / FHD(1920x1080)/第七世代 Celeron/8GBメモリ/SSD 256GB/Webカメラ内蔵/13.3インチ
¥19,800
2
Lenovo ノートパソコン パソコン IdeaPad Slim 3 14.0インチ 第13世代 インテル® Core™ i5 プロセッサー搭載 13420H メモリ16GB SSD512GB MS Office 2024搭載 Windows11 バッテリー駆動14.1時間 重量1.39kg ルナグレー 83K00072JP ノートPC
Lenovo ノートパソコン パソコン IdeaPad Slim 3 14.0インチ 第13世代 インテル® Core™ i5 プロセッサー搭載 13420H メモリ16GB SSD512GB MS Office 2024搭載 Windows11 バッテリー駆動14.1時間 重量1.39kg ルナグレー 83K00072JP ノートPC
¥107,800
3
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
¥26,880
4
【Amazon.co.jp限定】 HP ノートパソコン 15-fd 15.6インチ インテル Core i5-1334U メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M4PA-AAAB)
【Amazon.co.jp限定】 HP ノートパソコン 15-fd 15.6インチ インテル Core i5-1334U メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M4PA-AAAB)
¥181,469
5
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥36,979

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

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
¥1,880
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,890
3
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
¥980
4
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
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
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
7
【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限定 壁紙ダウンロード付き
¥5,280
8
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥5,545
9
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
¥1,980
10
バッファロー マウス 無線 ワイヤレス 5ボタン 【戻る/進むボタン搭載】 小型 軽量 節電モデル 最大584日使用可能 BlueLED ブラック BSMBW315BK
バッファロー マウス 無線 ワイヤレス 5ボタン 【戻る/進むボタン搭載】 小型 軽量 節電モデル 最大584日使用可能 BlueLED ブラック BSMBW315BK
¥1,040

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

デジタル用語辞典

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