開発者にとって関心が高いトピックの一つは、従来PCやスマートフォン、組み込み(IoT)、Xboxなど、各デバイス向けに存在していたWindowsが、Windows 10においてAPIレベルで一本化される点だ。これにより、Windows向けに開発した「Universal Windows Platform (UWP)アプリ」は、ハードウエアの垣根を越えて、どのWindowsデバイスでも動作するようになる。
UWPアプリは、Windows 8/8.1より採用された「Windowsストアアプリ」を、Windows Phone、Xboxを含む全Windowsデバイスで動作するよう拡張したものだと考えればイメージしやすいだろう。それには、マイクロソフトが「ホログラフィックコンピューティングプラットフォーム」と呼ぶ「HoloLens」や、大画面タブレットの「Surface Hub」なども含まれる。
「各ハードウエアのWindowsが統一されることで、開発者が受けるメリットの一つは、デバイスドライバーが共通化される点。ドライバーモデルが共通となることで、一度書いたデバイスドライバーはハードウエアを越えて共有できるようになる。同時に、今後UWP向けに開発したアプリは、どんなハードウエア上でも実行される可能性がある。開発者の皆さんには、そのことを念頭に置いてほしい」(高橋氏)
高橋氏によれば、従来の各デバイス向けWindowsのアプリ(例えば、PCであればx86/x64向けアプリ)はそのまま各デバイスで動作する環境を維持しつつ、新たに各デバイス共通のカーネルとUWPのフレームワークが用意される形になるという。
各デバイス固有の機能やハードウエア(電話機能、GPS機能、各種センサー類など)を利用する機能については個別のSDKを使って作り込む必要があり、実行時に機能の有無を問い合わせてUIを変化させるといった処理は開発時に意識する必要がある。しかし「アプリのメイン部分について、共通のものを利用できることで、クロスデバイス開発が大幅に効率化される」という。UWPは、DirectX、OpenGLにも対応しており、グラフィック表現に富んだゲーム開発にも利用できるプラットフォームであるとする。
UWPは、Windows 10の他、Windows 8.1/7上で開発することもできる。ただし、デバッグ時にはWindows 10の環境が必要になる。また、Windows 8/8.1向けに開発したストアアプリについては、Visual Studio 2015上で容易にUWPアプリへとプロジェクトを移行できるという。大半のアプリについては、ソースコードの変更も必要ないとする。
「UWPアプリの配布は、基本的にPC、Windows Phone、Xboxで共通化されたWindowsストア上で行う形が標準になる。Windowsストアのプラットフォームを利用してアプリを配布することで、サブスクリプションやアソシエイトプログラム、広告配信などのさまざまな機能を活用した収益化が可能になる。
Windows 10ではストアアプリをデスクトップのウインドウ上で実行可能になっており、ユーザーは従来のデスクトップアプリと同じ感覚でストアアプリを使うようになっていく。開発者側では、ウインドウサイズに応じて変化するレスポンシブなUIを意識するようにしてほしい。今後、ストアアプリの利用率はさらに高まるはずだ」(高橋氏)
Windowsストアアプリの開発を促進するための施策として、マイクロソフトが現在急ピッチで進めているのが「Bridge」と呼ばれる一連のプロジェクトだ。これは、Android/iOSアプリを含む既存アプリのWindowsへの移植と、Windowsストアでの配信を容易にするものである。これにより開発者は、Web/iOS/Android/既存Windowsアプリ(ゲーム)をWindowsストア向けに作り替え、配信することが従来よりも簡単になる。開発リソースの問題から「Windowsストア」を利用できていない開発者に、より幅広くWindowsストアアプリの開発と登録を促すことが「Bridge」におけるマイクロソフトの狙いだ。
まず、HTMLとJavaScriptをベースとしたWebアプリについては、WebアプリをそのままWindowsストアアプリとしてパッケージングできる仕組み「Windows Bridge for web apps」がすでに用意されている。
また、PCデスクトップ向けのアプリについては、インストーラーファイル(.msi)をWindowsアプリとしてパッケージングし、Windowsストア上で配布できる仕組み「Windows Bridge for Classic Windows apps」を近々用意するという。
Androidアプリ、iOSアプリについては、それぞれに異なるアプローチでWindows対応を可能にする考えだ。Androidアプリについては、「Windows Bridge for Android」と呼ばれるプロジェクトの中で、コードをほぼ変えることなく、丸ごとWindowsアプリとしてパッケージングできる環境の準備を進めているという。
「Google Play Servicesなど、既存のグーグルが提供するサービスに依存する部分については、それらのほぼ全てに対応したサービスをマイクロソフトで開発中であり、それに切り替えることで、できる限り少ない工数でWindows対応できる環境を用意する」(高橋氏)
また、iOSアプリについては、XcodeプロジェクトおよびObjective-Cで書かれたコードを、Visual Studioにインポートし、UWP APIに対応するために修正することで、Windowsアプリとしてコンパイルできる環境「Windows Bridge for iOS」を計画中だという。
これら「Bridge」の各プロジェクトは、Webアプリ向けについては公開済み、その他については開発段階にあり、今後順次公開されていくとしている。
「Windows 10以降のエコシステムには、新たな技術やデバイスだけではなく、既存のWebアプリ、Windowsアプリ、そしてAndroid/iOSアプリの資産も取り込まれていく。マイクロソフトは、この新たなWindowsプラットフォームで、ゲーム開発者がビジネス的なメリットを享受できるよう、さまざまな展開を行っていく。ぜひ、ゲーム開発者の皆さんも、今後のWindowsがそのような方向性にあることを念頭に置いた上で、新しいWindows 10を試してみてほしい」(高橋氏)
Copyright © ITmedia, Inc. All Rights Reserved.