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っぽいプログラムを作ってからもう一回考えてみよう。