Microsoftはモバイル分野の戦いで、今のままではAppleとGoogleに勝てないと観念したのだろうか。筆者は、このままいくとMicrosoftが「Android」陣営と「iOS」陣営に塩を送ることになってしまうのではないかと恐れている。
AndroidアプリやiOSアプリの「Windows」版を開発してもらうためのMicrosoftの戦略に関する報道を見た時、筆者はこのような危惧を抱いた。確かにMicrosoftであれば、そういったアプリを「Windows Mobile」に移植する方法を容易に生み出せるだろう。
ここで筆者が「Windows」ではなく「Windows Mobile」と表記した点に注意してほしい。Microsoftは、Windowsというプラットフォームをあらゆる開発者の視点から見て一枚岩のものにする、「Universal App Platform」(UAP)というコンセプトを提唱しているが、AndroidアプリやiOSアプリはARMアーキテクチャ路線を堅持している。このため、Androidアプリをデスクトップ版のWindows上で実行させようとした場合、現状では「BlueStacks App Player for Windows」といったサードパーティーのソリューションが必要となる。ちなみに、同様のソリューションを備えたデスクトップOSとしてGoogleの「Chrome OS」がある。Googleは、「App Runtime for Chrome」(ARC)を提供することで、Chrome OS上でAndroidアプリを手軽に実行できる環境を実現しようとしている。
Microsoftは、「Project Astoria」というプロジェクトを立ち上げ、Android開発者が「Universal Windows Platform Bridge」ツールキットを使って自らのAndroidコードを再利用し、スマートフォン向けの「Windows」アプリをビルドできるようにしようとしている。ここで筆者が「Windows」とだけ書いたのは、同社が「Android Open Source Project」(AOSP)版のAndroidをサブシステムとして稼働させることで、これを実現しようとしているためだ。早い話が、これらのアプリはWindowsのエミュレーション環境内で稼働するAndroid上で実行されるというわけだ。
プログラマーであればご存じだろうが、エミュレーション環境を使用した際の最大の問題とは何だろうか?そう、パフォーマンスの低下だ。
Microsoftは「Build」カンファレンスにおいて、プログラミング上のこの根本的な事実について、別の観点から語ろうとしていた。Operating Systems Group担当プレジデントを務めるTerry Myerson氏は同カンファレンスにおけるインタビューで「これをエミュレーションと呼ぶ人もいるかもしれない」と述べたうえで、「しかし、実際のところはサブシステムであり、(ただ)エミュレーションという側面も有している」と語った。