UWP用のGUIを利用し、動作環境などに影響されにくい
デスクトップアプリを開発できるように
その点、最近追加されたXAML Islandや.NET Framework 4.8は、デスクトップアプリケーションの強化になるものだ。
UWPは、これまでのWinFormやWPFでの経験を元にGUIフレームワークを作り直している。たとえば、画面サイズや解像度、フォームファクター(スマートフォン、タブレット、ノートPC、デスクトップでは、ディスプレイとユーザーの位置関係が違う)に影響されにくいGUIをデザインできる。
XAML Islandは、UWP用に用意したGUI機能、具体的にはXAMLで記述したGUIデザインをデスクトップアプリケーションから利用できるようにしたものだ。WPFでもXAMLによるGUI記述は可能だったし、利用が推奨されていたが、UWPのものとはオブジェクト構造(記述方法)が違っていた。
.NET Framework 4.8は、現在Windows 10に搭載されている4.7の後継となるもので、「Windows 10(AKA "WinRT")API全般へのアクセス」、「WPFおよびWindowsフォームアプリケーションでUWP XAMLコントロールをホストする機能」(XAML Islandの利用)、「UWPブラウザ(Edge)とメディアコントロールをホストする能力」といった特徴を持つ。また、Windows 10の高DPI対応機能についてもWinFormやWPFが対応する予定だ。
.NETは、Windowsに組み込まれている「.NET Framework」とは別に、オープンソースで更新速度の速い「.NET Core」がある。.NET Coreは、プラットフォームに依存しない.NETの実装で、特定のプラットフォームの事情や細かい互換性を考慮しないため、新機能がすぐに搭載され、更新の速度も速い。
現在では、.NET Coreとその標準ライブラリとなる.NET Standardによりデスクトップアプリケーションの開発も可能になっている。こちらは.NET Frameworkの仕切り直し的な部分があるが、デスクトップアプリケーション側から見れば、アプリケーションモデルの選択が増えた格好になる。
.NET Core 3.0では、WPFやWinFormがサポートされた。また、複数バージョンの.NET Coreを共存させることも可能になり、アプリケーションは、特定バージョンの.NET Coreを使い続けることができるようになった。アプリケーションに.NET Coreを組み込んで出荷することも可能であり、ホストシステム側のバージョンに依存しない実行環境を維持できる。
ARMプロセッサを搭載するWindows On ARMでは、64bit ARMコードによるWin64APIアプリケーションの開発を可能にすると発表している。つまり、デスクトップ環境で動作するARM64アプリケーションが開発できるようになるわけだ。このあたりからも、マイクロソフトがデスクトップアプリケーションを重視しだしたことがうかがえる。
UWPを次世代のアプリケーション環境としてスタートしたWindows 10だが、出荷から3年が経過し状況も変わってきた。デスクトップアプリケーションの強化に方向転換したマイクロソフトだが、開発者の目は、AndroidやiOSに向いたままだ。次にマイクロソフトは何をするのかに注目したい。
この連載の記事
-
第462回
PC
Windows Terminal Preview版でSixelグラフィックスを扱う -
第461回
PC
Copilot+ PCを買ってみたが、「今焦って買う必要はない」のかもしれない -
第460回
PC
Windowsでsftpを使う -
第459回
PC
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた -
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる - この連載の一覧へ