Windows/WindowsPhoneのユニバーサルアプリと.Net Native

Windows8/8.1のストアアプリと、WindowsPhoneアプリが、ユニバーサルアプリという形で共通化が進んでいるようだ。
先週土曜のWindowsAzure勉強会でユニバーサルアプリを作るのを試してみた。
x86(32bit)やx64(64bit)やARM(32bit)といったプラットフォームで共通なアプリが作れるのは.Netの技術のおかげである。
WindowsPhone8からWindowsPhone8.1へのアップデートで、やっとWindowsPhoneでもWindowsRuntimeがデスクトップ用Windowsと共通になり、ユニバーサルアプリができるようになった。

しかし、WindowsPhoneは要求されるハードウェアのスペックが段々と高くなってきている。
古いWindowsPhone7.5端末は結局スペックが足りなくて8にアップデートできず、WindowsPhone7.8というのでお茶を濁している。
Nokiaは低スペックのローエンド端末の新機種を出すためにWindowsPhone7.8はあきらめて、Androidを改造した Nokia Xというのを出している。

.NETのアプリケーションをもっと軽い負荷で動かすためにネイティブコードに.NETアプリを変換するという.Net Nativeという技術が発表されているそうだ。
.NET Native | ++C++; // 未確認飛行 C ブログ
.NET Nativeでは、ARMとかx86とか依存しないでネイティブコードなストアアプリができるようになるらしい。
ストア上でビルド(リンク)されて配信される仕組みのようだ。

WindowsPhoneでアプリが .NET(MSIL)の中間コードをJITで動かすのは実行環境としてちょっと重かったのだろう。
AndroidのJava実行環境も似たようなものだけど、こちらはそこまで重くないみたいだ。

.NETでJITコンパイルの工夫するよりはネイティブアプリというのは、抜本的だし、よい方法なのかもしれない。
反面、往年のDLL地獄問題のように、開発した環境ではちゃんと動くけどユーザーの実行環境ではリンクされる部品の違いでうまく動かないというような不具合が起こらなければいいけど。


追記
WindowsPhone 8.1の次のGDR1というアップデートを搭載した機種が秋以降に出るらしい。
Windows Phone次期機のコードネームは「McLaren」
次のアップデートで.Net Nativeに対応するのだろうか?




コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

53 − 43 =