筆者は既に一部のタスクをUWPアプリケーションに移行させつつあり、高橋氏が言う「データはクラウド上に置いて、移動中はスマートフォン、会社ではデスクトップPCで同じUWPアプリケーションを使用する」スタイルを確立しつつある。

しかし、確かにディスプレイサイズが異なるデバイスを想定したソフトウェア開発は難しく、UIデザインを考慮しているとコーディングに支障が出かねない。最適な開発方法は「まずWindows 10 Mobileで開発し、その次にWindows 10の動作を考慮すれば、足りない部分が把握できるため、UWPアプリケーションの開発も容易になる」(高橋氏)。

そこで重要になるのがSDKの存在である。Windows 10のコアAPIやカーネルは一緒だが、Windows 10に電話をかける機能は備わっていない(Windows 10 Mobileのみ搭載)。そのためVisual Studioの参照設定を変更し、電話機能の有無などデバイスファミリーによって異なるSDKを追加する操作が必要だと説明した。

異なるエクステンションを追加することで、デバイス固有の機能をUWPアプリケーションから使用できる

現段階では正しいデバイスファミリーは定義されていないものの、大まかに分類すると、デスクトップPC以外は、Raspberry Pi系、Windows 10 Mobile系、組み込み型PCの3種類が「IoT」、Surface HUBは「TEAM」に分けられている。ちなみにWindows 10 Insider Previewのビルドナンバーと連動する最新のSDKを使用すれば、Windowsインクなどの機能もUWPアプリケーションで使用できるそうだ。

会場では実際にWindows 10 Mobile/Windows 10用UWPアプリコードを書く上でのコツが語られた

最後に、前述のDesktop App Converterに関するスピーチを紹介しよう。

Desktop App ConverterはデスクトップアプリをUWPアプリケーションに「変換するものではない」(高橋氏)という。具体的にはWindowsの仮想環境を作成し、デスクトップアプリのインストーラーを実行。そこで動作をチェックし、システムフォルダーに展開するDLLファイルや書き出すレジストリエントリーをチェックし、それらの情報を吸い上げてAppXパッケージを作成している。デスクトップアプリから見れば通常のWindows環境に見えるが、AppXとしてインストールしたデスクトップアプリは環境を汚さず、Windowsストア経由で配布できるため、今後の主力となる可能性は高い。

Desktop App Converterの概要を図で示したもの。あくまでもデスクトップアプリは仮想環境上で動作する形になる

このほか、Windowsストアへのアプリケーション公開方法やマネタイズのコツ、アイコンサイズの設定や内製アプリケーションの展開方法などの話も挙がっていた。

記事とは直接関係ないが興味深いスライドなので合わせて紹介する。UWPの前にはWindows 8.xで未来を担うはずだったWindows RT(Runtime)が……

阿久津良和(Cactus)