过去5年时间,微软主导的Windows Phone生态在市场上的表现过分孱弱,但这个局面有望在Windows 10 Mobile中改变,关键点在于对Android和iOS两大生态应用的兼容,而“Project Astoria”和“Project Island wood”两大项目则是应用兼容关键中关键。
“Project Astoria”和“Project Island wood”分别针对Android和iOS应用的跨平台迁移,开发者只需要将安装包文件提交至对应项目,后台会自动编译,开发者只需要做少量的改动就可以输出可以在Windows 10 Mobile上运行的应用。
微软的思路其实就是将apk和ipa包转制成Windows APX,由操作系统编译运行。不过更具噱头的是,有消息穿传出,Android系统的apk应用包,可以不经转制直接在Windows 10 Mobile当中运行。
Win 10底层竟然有Android
6月下旬,微软发布了Build 10149的Windows 10 Mobile公开预览版,除了常规功能更新外,最抓眼球的是升级包当中被挖出了Android子文件系统。
据了解,大小总共300MB的更新包中,除了占据1/3的“projecta”和Android-on-Windows应用框架之外,还包括一个拥有adbd(服务端、客户端连接通道)、系统调试器守护程序、OpenGLES编译器和Hyper-V虚拟机驱动的Android文件系统,这些都是Windows 10 Mobile直接运行安卓应用的前提条件。
IBM和黑莓都这么干过
20世纪90年代,IBM在推广OS/2操作系统的时候,就曾采取过跨平台兼容Windows软件的做法,具体则是在OS/2中兼容16位的Windows应用,而在更为接近的移动操作平台市场,黑莓率先采取了兼容安卓应用的方案。
黑莓兼容安卓应用分两个时间点,转制和原生支持,BlackBerry 10.1中安卓应用需要转制才能运行,10.2版本则直接开放了安卓apk的直接安装,但是对应用程序的要求则是必须使用C和C++原生语言开发。
兼容和转制不一定立竿见影
跨平台应用兼容和转制,最直接的目的就是在短时间内补足应用生态补足的短板,但从过去的案例来看,这种巧妙的办法并没有太多显赫的成绩。
前面提到的IBM在OS/2中虽然提出了兼容16位Windows应用的做法,但最终OS/2也没能突出Windows的重重包围,一些激进的用户在OS/2失败收场这件事上,甚至调侃IBM取错了名,比如“I Beg Microsoft”,“I Beat Myself”、“Industry Biggest Mistake”等等。
同样的尴尬也出现在了黑莓身上,尽管在BlackBerry 10.1和10.2中先后引入了转制和开放安装的策略,但从目前的市场份额来看,过去的两年时间里,即便是黑莓用户有机会接触安卓应用,市场份额还是不足1%。
跨平台兼容转制也有潜在风险
跨平台兼容转制最直接的风险就是兼容性不佳,这一点在BlackBerry 10.1当中表现的最为明显,不少用户反映转制存在不兼容,应用无法使用,不过也有用户反映,这个问题在10.3版本当中有了明显的好转。
尽管微软已经在Build 15大会上明确了兼容转制的思路,并且会提供对应的开发工具包,但相比兼容性问题,转制兼容逻辑下,对第三方生态的依赖会限制Windows 10 Mobile的健康发展,如果谷歌(微博)在新版本中对开发者提出新的要求,并且推出全新的开发环境,也就意味着微软需要对接下来的Windows手机操作系统进行相应的调整,进而被牵着鼻子走。
直接安装可能没戏
前面提到了,Windows 10 Mobile Build10149 预览版中已经出现了具备直接安装安卓app的条件,但从微软生态以及“Project Astoria”项目的初衷来看,这种可能性几乎不存在。
“Project Astoria”的最终目标是强化Windows应用生态,直接目的则是提高安卓应用转制的效率,方便开发者掌握安卓apk代码的重复利用程度,也正是基于前面所提到的微软在Windows 10 Mobile中部署的跨平台运行环境,这个程度相当高,且由于修改意见相当明确,开发者只需要做很少的改动就可以完成跨平台开发。
也就是说,不管是“Project Astoria”还是“Project Island wood”,都不是以让用户直接安装应用为目的。
从生态的角度来讲,即便是这可以解决应用不足的问题,微软也绝不会允许用户自行安装安卓应用,这一点从“Project Astoria”和“Project Island wood”官网上的一些小细节可以看出来。
在宣传视频当中,微软明确了包括广告、地图、分析、应用内付费以及通知等在内的套件都需要替换成微软的产品,以便于更好的和Windows 10 Mobile整合,最终目的则是维护生态系统的一致性,而允许用户自行安装安卓apk,整个生态在应用部分就是脱节的状态。