ニュース
» 2016年04月06日 06時00分 UPDATE

Build 2016:Windows 7時代のアプリを「10」対応にするメリットは? (1/2)

Windows 10世代のモダンなアプリより、Windows 7以前のデスクトップアプリを好んで使っているユーザーは少なくないだろう。Microsoftはそんな旧世代アプリのモダン化を訴えているが、どのようなメリットが得られるのだろうか。

[鈴木淳也(Junya Suzuki),ITmedia]

←・前回記事:Windows 10公開から1年後の姿はどうなる?

→・次回記事:Microsoftが「会話Bot」に力を注ぐ理由

Windows 10にあらゆるアプリを集める「Bridge」戦略の終了

 米Microsoftは米カリフォルニア州サンフランシスコで3月30日から4月1日までの3日間(現地時間)、開発者会議「Build 2016」を実施した。開発者向けにさまざまな発表があった中、既存のデスクトップアプリケーションをモダンな形式に変換するツール「Desktop App Converter」は、注目すべきポイントの1つだ。

 さかのぼること1年前に開催されたBuild 2015でMicrosoftは「Windows Bridge」を大々的に発表した。これは、既存のアプリケーションをWindows 10のネイティブ実行基盤である「UWP(Universal Windows Platform)」上で動作する形式に変換するツール群および技術の総称だ。

UWP対応のメリット アプリケーションをUWP(Universal Windows Platform)に対応させることで、幾つかのメリットがある。モバイルやXbox One、Surface Hubといったデバイスで動作するだけでなく、スクリーンサイズによって変化するユーザーインタフェース(UI)や、Windows Ink APIによるペン入力の細かなサポートなど、従来のデスクトップアプリケーションにはない機能を搭載できるのだ

 Windows Bridgeには、変換元となるアプリケーションの環境によって「Windows Bridge for Android(Project Astoria)」「Windows Bridge for iOS(Project Islandwood)」「Windows Bridge for Classic Windows apps(Project Centennial)」「Windows Bridge for Web apps(Project Westminster)」の4つが用意されていた。

 その当初の目的は、Android向けから、iOS向け、Web向け、そしてWin32/.NET向けまで、既存の幅広いアプリケーション開発環境をまとめてUWPへと導くための「橋渡し役」のようなものだった。

Windows Bridge これまで何度も紹介してきた「Windows Bridge」の概念。他プラットフォームからUWPアプリへの移植ツールキットをそろえて、Windows 10での10億台市場をターゲットにアプリ環境の充実を図る計画だった

 しかし、Microsoftはクロスプラットフォーム開発環境「Xamarin」の買収に伴い、Windows Bridgeを事実上終了した。Windows Bridge for Web apps(Project Westminster)は一般公開されたものの、Windows Bridge for Android(Project Astoria)は開発中止となり、Windows Bridge for iOS(Project Islandwood)はオープンソース化によって事実上Microsoftのメインプロジェクトから外れた形だ。

 さて、最後に残ったWindows Bridge for Classic Windows apps(Project Centennial)だが、今回のBuild 2016ではその名称をDesktop App Converterへと変え、間もなく正式に提供を開始する予定と発表された。今回はBuild 2016の会期中に行われたDesktop App Converterに関するセッションでの情報をまとめつつ、「Windows Bridgeの遺産」が目指すものを追いかけてみよう。

 なお、Windows Bridgeの変遷については、連載記事のバックナンバーをご覧いただきたい。

デスクトップアプリをUWP配信形式に自動変換するツール

 Desktop App Converterは、Windowsアプリケーションのインストール形式である「.msi」ファイルを使って、UWPアプリの配布パッケージである「.appx」を自動生成するツールだ。これにより、Windowsストアの仕組みを用いて従来のWin32や.NET向けに記述されたアプリケーションを配布することが可能になる。

Project Centennial Windows Bridge for Classic Windows apps(Project Centennial)は、Win32/.NETのデスクトップアプリケーションをWindowsストアで配布できる形式に変換するものだった
Desktop App Converter Project Centennialあらため「Desktop App Converter」は、既存のWin32/.NETをUWPの仕組みを使って配布する手段を提供する。将来的にコードを徐々に移管していくことで、完全なUWPアプリとして動作することを想定した、UWP移行期のツールだ
UWPのアプリ配布形式に変換 Windowsデスクトップアプリケーションのインストール形式である「.msi」ファイルさえあれば、UWPのアプリ配布形式である「.appx」に自動変換してくれる。完璧ではないものの、ほとんどのアプリケーションを変換可能とのことだ

 一方、ここでAppXパッケージに変換されたアプリは基本的に従来のWin32/.NETコードベースそのままで、Win32サブセットなどを含まないWindows 10 Mobileなどのプラットフォームでは動作しない。つまり厳密に言うと、Desktop App Converterが生成するのはUWPアプリではなく、「UWPと同じ配信形式のパッケージ」を生成しているにすぎない。

Desktop App Converterを使うメリットとは?

 これだけだと「Windowsストアを利用できる以外のメリットはないの?」ということになるが、実際にAppXパッケージが生成されることで、企業内でも配信が楽になるだけではなく、ユーザーにとっても「システムフォルダやレジストリを汚さない」という大きなメリットがある。

 通常、デスクトップアプリケーションのインストールではWindows OSのレジストリに専用領域の確保のほか、必要なDLLやランタイムをシステムフォルダなどに適時追加していくことが多い。ところが、こうしたことを繰り返すとレジストリが肥大化してメモリやパフォーマンスを圧迫するだけでなく、アンインストール時に「ゴミ」を生む結果となってしまう。

 Desktop App ConverterではAppXパッケージ生成時にマニフェストを包含し、内部的にリダイレクト処理を行うことで、レジストリやDLLの書き込みがパッケージの外部に波及することを防ぐようになっている。これにより、変換後のデスクトップアプリケーション(AppXパッケージ)のインストール/アンインストールがシステムに悪影響を与えることがなくなるという。つまり、Windows 7向けのアプリケーションを単純に変換するだけでもメリットがあるのだ。

変換のメリット デスクトップアプリケーションをUWPアプリに変換するメリットは、Windowsストア経由での配布が可能なこと以外に、「DLLの他フォルダへの書き込み」「レジストリの肥大化」といったWindows固有の問題を回避できる点が大きい

 実際には動作テストと若干のコード変更が必要になる場合があるようだが、Buildのセッションで紹介されていたデモによれば、EvernoteのAppXパッケージの変換はものの数分で完了し、起動初回にインストール画面こそ表示されるものの、ほぼ変わりなく動作しているようだった。

アプリ変換デモ Evernoteを「.appx」形式に変換中の様子。ほぼ全自動だ。ただし変換済みファイルの初回実行時にインストーラが起動する点が通常のUWPアプリと異なる
変換したEvernoteを起動 「.appx」形式に変換したEvernoteを起動したところ
       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

「Windows 7」サポート終了 対策ナビ

この記事が気に入ったら
ITmedia PC USER に「いいね!」しよう