クラウドベースのファイル同期アプリに最適な UI フレームワークを選択する
会社では、ユーザーがクラウド プロバイダーへ同期するファイルを管理できるコンシューマー向けアプリケーションを構築したいと考えています。これは、Microsoft Store 経由でデプロイする必要があります。
このシナリオでは、各 Windows UI フレームワークを使用してファイル同期アプリを作成する方法と、それが最新の要件に基づいて最適なオプションかどうかを考慮します。
このユニットでは、フレームワークの利点と制限事項、およびそれらがファイル同期アプリの要件でどのように機能するかを説明します。
ファイル同期アプリケーションの構築
クラウドベースのファイル同期アプリケーションは、コンシューマー向けのアプリです。 このアプリケーションで重視する必要がある差別化要件は、次のとおりです。
- アプリケーションの外観とスタイル。 このアプリケーションは、最新の Fluent Design System ガイダンスをサポートし、最新の Windows リリースの UX と一致します。 このアプリは、円滑な業務遂行と卓越した UX を実現する最高レベルの Windows アプリである必要があります。
- デバイスの互換性。 ファイル同期アプリはデスクトップやタブレット PC を含む最新の Windows デバイスで実行し、最新のハードウェアを利用する必要があります。 今後、チームで追加のプラットフォームへの対応を決定する可能性があります。
- マルチメディアのサポート。 アプリは、画像やビデオなどのマルチメディア コンテンツに対応し、豊富なユーザー エクスペリエンスを提供する必要があります。
- デプロイのオプション。 アプリケーションは Microsoft Store で入手できるようにします。 エンタープライズ展開のシナリオは必要ありません。
決定条件の分析
このセクションではファイル同期アプリの要件を分析し、それらの要件を満たすために各フレームワークで使用できる方法について確認します。 また、フレームワークの利点と制限事項を確認し、それらがファイル同期アプリに使用するフレームワークの決定にどのように影響するかを考慮します。
アプリケーションの外観とスタイル
WinUI 3 アプリケーションは、最新の Fluent Design System を実装します。 Fluent Design System は、Windows と一体感のあるルック アンド フィールにアプリを仕上げるための一連のガイドラインです。 WinUI デザイン言語は Fluent と共に進化しており、人の感覚や行動に合わせた、本当に Windows の一部のように感じられる普遍的なデザインを作成します。 WinUI は、最新バージョンの Windows でユーザーに最適なエクスペリエンスを提供します。 この要件は、最新の Fluent Design System ガイダンスを実装するというファイル同期アプリの要件に合致しています。 WPF と Windows フォームはどちらも Fluent Design System を実装していません。
タブレットの使いやすさ (タッチ) とデバイスの互換性
WinUI 3 は、タッチ入力とペン入力でシームレスに動作するように設計されています。 WinUI チームは、WinUI 3 アプリが、タブレット、2-in-1 デバイス、デスクトップ PC など、すべてのフォーム ファクターに適応し、それらすべてで最適なエクスペリエンスを提供できるように取り組んでいます。 WinUI 3 アプリは、Windows 10 バージョン 1809 以降および Windows 11 で実行するように構築されます。 この機能も、タッチ入力とペン入力を使用できるようにするというファイル同期アプリの要件に適っています。 WPF フォームと Windows フォームでもタッチ入力とペン入力に対応できますが、WinUI 3 と同じようなエクスペリエンスは実現できません。
チームのエンタープライズ開発者のスキルセット
開発者は、C# と .NET、または C++ と WinRT を使用して WinUI アプリをビルドできます。 XAML と C# または C++ に精通しているチームは、使い勝手が似ており WinUI アプリケーションを開発しやすく感じています。 WPF または UWP の経験がある開発者は、WinUI 3 がこれらのフレームワークに似ていることに気付いています。 実際、UWP と WinUI 3 は同じ XAML を共有し、同じ WinRT API の多くにアクセスできます。
このプロジェクトをリードするチームは、最新バージョンの .NET と C# に精通しています。 開発者は XAML にも慣れているため、Visual Studio の XAML デザイナーまたはエディターを使ってアプリケーションの UI を構築できます。 このプロジェクトで検討しているいずれのフレームワークを使用しても、快適に開発できます。
アプリケーションのパフォーマンスと応答性
WinUI 3 アプリには、GPU を使用するベクターベースの UI があります。 XAML ベースの UI を使用すると、アプリのパフォーマンスと応答性が向上します。 WinUI 3 アプリは、.NET の最新のバージョンである .NET 8 ランタイム上に構築されます。 WinUI 3 でのアプリケーションのパフォーマンスに関する懸念はありません。 WinUI 3 は、画像やビデオを含むマルチメディア コンテンツの再生にも対応しています。 この機能は、マルチメディア コンテンツをサポートするというファイル同期アプリの要件に敵っています。
展開のシナリオとオプション
既定の WinUI 3 プロジェクト テンプレートでは、MSIX でパッケージ化されたアプリが作成されます。 これは、WinUI 3 アプリに推奨されるデプロイ オプションです。 MSIX は、あらゆる Windows アプリに最新のパッケージ化エクスペリエンスを提供する Windows アプリ パッケージ形式です。 このパッケージ形式により、パッケージ化されたデスクトップ アプリへの新しいモダン パッケージおよびデプロイ機能が可能になるだけでなく、既存のアプリ パッケージとインストール ファイルの機能を保持できます。
Windows App SDK を使用してパッケージ化された WinUI 3 アプリをデプロイする方法は 2 つあります。
- フレームワーク依存:アプリは、ターゲット マシンに存在する Windows App SDK ランタイムまたはフレームワーク パッケージに依存します。 フレームワークに依存する展開は、マシン リソースと保守容易性を効率的に使用するためのWindows アプリ SDK の既定の展開 モードです。
- 自己完結型:アプリに Windows App SDK の依存関係が組み込まれます。 自己完結型デプロイは、Windows App SDK 1.1 以降でのみ利用できるデプロイ オプションです。
各種アプリを Microsoft Store に公開し、そこからインストールすることも、Windows アプリ インストーラー、Windows パッケージ マネージャー、または Microsoft Intune を使用してインストールすることもできます。
Windows フォームおよび WPF アプリケーションは、Microsoft Store にデプロイすることもできます。 デプロイに Windows フォームまたは WPF 経由で WinUI 3 を使用してもメリットはありません。
フレームワークの選択
WinUI 3 はファイル同期アプリに最適であると考えられます。 タッチ入力とペン入力でシームレスに動作します。 また、最新の Fluent Design System も実装します。 Windows App SDK は、.NET の最新バージョンである .NET 8 ランタイム上に構築されます。 また、Microsoft Store を使用して簡単にデプロイすることもできます。 WinUI 3 はWindows 用アプリを構築する ISV 向けのフル機能のフレームワークであり、このプロジェクトに最適な選択肢です。