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に向いたままだ。次にマイクロソフトは何をするのかに注目したい。

この連載の記事
-
第508回
PC
Scalable Vector Graphics(SVG)そもそも何なのか? -
第507回
PC
Windows 11の「開発者モード」とは何か? -
第506回
PC
Windows 11は早くも来秋登場の26H2プレビューの準備が始まる -
第505回
PC
結構変化しているWindows 11のエクスプローラーの基本設定を見直す -
第504回
PC
新しいOutlookとOutlook Classic、そろそろ古いOutlookとExchangeの組み合わせは引退の頃合いか -
第503回
PC
機能が増えたこともあり、寄せ集めから統合化に進むWindowsの便利ツール「PowerToys」 -
第502回
PC
Windows 11でBluetoothのオーディオ新規格「Bluetooth LE Audio」を試す -
第501回
PC
Windows 11 Ver.25H2での変更点、新機能を整理する -
第500回
PC
Windows 11 Ver.25H2が完成した -
第499回
PC
Windowsでの致命的だが回復可能なエラーに備える手段を2つ紹介 -
第498回
PC
Windows Terminalの安定版V1.23が公開 設定UIが改良される - この連載の一覧へ











