Universal Windows Appの正体

Unversal Windows Appの正体というか実体は、何なのかという話。

AppleのUnversal Appの概念を知っている人にとっては自明だったのかもしれないが、同じアプリというのは、同じバイナリがWindows 8.1とWindows Phone 8.1で動くという事ではなく、バイナリは別だけど、同じパッケージに出来ますよ。というオチだった。

Windows PhoneのアーキテクチャがよりWindows 8.1に近くなり、既存のアプリの小変更(ここは設計に強く依存)とリビルドで、 Windows Phone/Windows 8.1両対応のアプリケーションが作れる。という発表でした。はい、以上。

程度で言えば、Windows 8発表時に

  • Windows RTとWindows 8で同じアプリが動きます。

と発表があり、その実体は、

  • ARM版と、x86,x64版のバイナリが一つのパッケージになっているアプリ

だったのと全く同じノリで。

Univeesal Windows Appとは、

  • Windows Phone 8.1とWindows 8.1で同じアプリが動きます。

という発表に対して、その実体は、

  • Windows Phone 8.1版と、Windows 8.1版のバイナリが一つのパッケージになっているアプリ

だった。というと、導き出される予想は、結局別バイナリなんだから現状やWindows 8の時に起きた状況と全く同じように、特定のプラットホームしか対応しないStore Appは依然として存在し続ける。今回の技術はStore AppがUniversal Windows Appばかりになるほどのインパクトのある新技術ではないだろう。

何をもってそう判断したかと言えば、

* Visual Studio 2013 Update 2 RC版で実際に空のプロジェクトを作ってビルドしてみた

のだ。無料で入手できるので誰でも検証できる。AppleのUnivarsal Binaryのような気の利いた仕組みなのかと思ったら、単に各々のターゲットCPU/プラットホーム用のバイナリが個別にビルドされたので、その辺に革新は起きていない(この話題はAppleのUniversal Appの時にもあったらしい)。

さらに言えば、AppleのUniversal Appは既存のiPhone用プロジェクトからiPad用のプロジェクトの生成が出来たりするらしいのだが、そういった仕組みもない模様。

まだ、触って2時間位しか経ってなので、もうちょっとUniversalっぽいプログラムを作ってからもう一回考えてみよう。