MicrosoftはWindows Template Studioを使った高速アプリケーション開発(RAD)に重点を置いて従来のLOBアプリケーション向けのUWPを位置づけている。しかしLOB開発者をUWPプラットフォームに誘導するのはそれだけではない。
最初にリリースされたときUniversal Windows Platform (UWP)はWindowsストアを通じて販売されるアプリケーションとしてだけ見られていた。基本的な考え方は、一度書くことでWindowsとWindows Phoneの両方で実行できるというものであった。しかし、Windowsストアの通過は厳しく制限されていた。パブリックに公開できないLOBアプリケーションではそれが不可能だった。
UWPの代わりにLOB開発者はWinFormsやWPFといった「従来の」プラットフォームを使い続け、ClickOnceを配置方法として使用し続けた。または、より複雑で開発コストが上がることを受け入れて内部Webサイトにした。この方向性は、WinForms/WPFの高い配置コストが要因となった中から大規模の企業で人気になった。
昨年の「Windows 10 Fall Creators Update」はUWPモデルは変更され、UWPアプリケーションを直接Webサイトからインストールできるようになった。これはClickOnceと全く同じではないが、少なくてもできるようになった。同時にMicrosoftはXAML/UWPをよりLOBアプリケーションで実用的にするチームを設けた。
Windows UI Library
ユーザーコントロールはあらゆるUIフレームワークの中心にある。堅牢なユーザーコントロールモデルは、1990年台にVisual Basicを普及させ、HTMLベースの代替よりもデスクトップアプリケーション開発を高速にし続けている。UWPの配置モデルにはいくつかの不必要な制限があった。
「プラットフォームコントロール」として知られる主なユーザーコントロールは、OSに組み込まれて以来、アプリケーションは新しいコントロールの採用に非常に慎重になった。Windows 10が実行され、一般公開から2つ前になる企業環境のマシンにおいては特に問題になる。
これに対処するために、プラットフォームコントロールはNuGetパッケージとしてリリースされている。これにより、開発者は残りの企業がWindowsリリースに追いつくことを待つことなく、新しいコントロールを利用できる。これらのNuGetパッケージは少なくても2016年8月のWindows 10 Anniversary Editionが必要になる。
これらのコントロールはツリービュー、メニューバー、カラーピッカーなどUWPエコシステムに不足している問題に対処する。
.NET Standard
.NET Frameworkと.NET CoreはUWPが.NET Standard 2.0をサポートするようになった。これにより、開発者はビジネスロジックとデータモデルを.NET Standardライブラリに移行できる。従来のデスクトップアプリケーション、Webサイト、UWPアプリで同じコードを共有できる。理論的にはWinForms/WPFからUWPへの移行は大幅に簡単になる。
UI密度
MicrosoftはUWPのデフォルトの間隔とサイズを「惜しみなく空白を使っている」と説明している。今年予定されているWindowsリリースでは、コントロールのサイズを自動的に縮小、コントロール間のパディング、フォントサイズを変更し、基本的にすべてをコンパクトにすることによって、画面の領域を解放するようにデフォルトが変更されている。 彼らは画面上のコントロール量をおよそ3分の1にできると見込んでいる。
開発者はコンパクトモードを選択することによってコントロールサイズをさらに削減できる。これによりコントロール間のスペースを40%縮小され、一度に50%多くのデータが表示される。この機能は大部分がデータ集約型の業務アプリケーション向けである。
カラーテーマ
心地よいカラースキームを使用することで、ユーザーはツールをより信頼することはよく知られている。しかしUWP/XAMLのスタイルモデルと同じぐらい複雑なものは、基本的な色を適用するのに十分な時間がないことがよくある。基本的にこの問題はコントロールの種類ごとに個別に更新して、全体のテーマをテストする必要があることである。そして、業務アプリケーションを構築するときに、この時間が十分にあることはほとんどない。
「Color Demo」と呼ばれる新しツールが一時的にこの問題に対応する。シンプルなカラーピッカーを使って、テーマをプレビューして、必要なリソースディクショナリをアプリケーションに含めることができる。
さらに色を選択がテキストを読みやすくするのに十分なコントラストがないなどの問題を引き起こす可能性があることを警告する。
これは完全にスタイルが適用されたXAMLアプリケーションほどリッチではないが、アプリケーションをプロフェッショナルな外観に磨き上げることができる。
データ検証UI
UWPのその他の穴は、データ検証のサポートが欠けていることである。これは、一番最初のデータ検証が.NET UIフレームワークの一部であった時からの欠如である(私たちはC#のAPI設計のモデルとインターフェースという記事の中でこれらのインターフェイスについて議論している)。
今年の新機能はINotifyDataErrorInfoインターフェイスで属性ベースの検証に使用できることである。このインターフェイスのモデルが公開されると、UIは自動的に正しいエラーメッセージを表示する。エラーを正しく表示するためには、コントロールがどのモードを選択するかによって異なる。
INotifyDataErrorInfoの実装は簡単ではない。INotifyDataErrorInfoインターフェイスへの属性ベースの検証をアタッチするするために多くの定型文がある。そのため、あなたはこれを処理するMVVMフレームワークを見たいと思うだろう。[この例の1つは、Tortuga Anchor氏のライブラリである。]
新しいXAMLコントロール: Data Grid
UWP開発者以外には、最初からデータグリッドが利用できないことは異例に見えるかもしれない。
業務アプリケーション開発者にとって、UIフレームワークにデータグリッドがないことは考えられない。90年代の半ばでさえ、このコントロールは業務アプリケーションの中心であった。UWPを検討している多くの開発者は、MicrosoftがまだWPFやSilverlightからデータグリッドを移植していないことに驚いている。
これは最終的にWindows Community Toolkitを通じて対処される。新しいDataGridコントロールに必要なXAMLはWPFのものと似ている。
次回はWindows Community Toolkitについて詳しく見ていこう。
Rate this Article
- Editor Review
- Chief Editor Action