大家知道,在传统的PC系统中安装一个虚拟机,运行其他非PC系统直接兼容应用程序,这样的经历并不新鲜。比如在Windows平台,运行Android虚拟机(VMware Workstation、Bluestacks正是比较不错的工具)。这样看来Windows平台与虚拟平台本身的兼容性是毋庸置疑的,但我们有没有想过有朝一日,Windows会直接兼容到Android应用程序?在目前来看,这似乎是件异想天开的事情。同时,一旦Windows直接兼容安卓应用,则会产生非常多的连带作用,这其中很大一部分会牵扯到开发者、服务提供商等众多问题。我们今天就来研究一下这个有意思的话题。

windows模拟器安卓版(windows的软件能在安卓上运行吗)(1)

兼容,首先就是一个相对性的话题,如同“相亲”一样,以相互看上了对方为前提。然而,Windows平台是否提供对Android应用程序的支持,一切都取决于微软,因为Android本身是开源的。前段时间,微软在纽约召开了全球开发者在线会议,会议上微软就公布了旗下开发框架.Net迎来开源,同时发布了针对小型开发商的Visual Studio 2013 Community和Visual Studio 2015预览版。

windows模拟器安卓版(windows的软件能在安卓上运行吗)(2)

Windows未来会变得更开放

在此之前,其实也可以在Windows平台上运行Android系统,并且可以进行Android应用的部署,只不过需要借助一些其他的工具。另外需要注意的是,早在去年10月份下旬的时候,微软在旧金山举办的发布会上,微软CEO纳德拉就对媒体说出了“Microsoft Love Linux”。从这个角度来说,微软正在变得更加开放。

从目前Win10技术预览版的各种改变可以看出,微软现在也越来越照顾桌面端用户的体验,而应用商店的推出从一开始也是为移动平台准备的,或者可以这样说,微软对Windows10寄托的愿望,就是既不维持着传统的桌面应用,又不会放弃移动平台的发展。但是随着发展的不断变化,Windows应用商店发展缓慢的竞争对手其实已经不是安卓应用,而是exe应用。

windows模拟器安卓版(windows的软件能在安卓上运行吗)(3)

Windows Store应用依然比较杂乱无章

(比较Android应用市场)

Windows应用的开放性比起安卓有过之而无不及,一定程度上比安卓应用市场更加混乱,安卓也是有比较正规的第三方应用市场的。Windows就不一样,各种各样的应用网站,很少有比较靠谱的。因为,在我们所接触的很多应用链接中,页面上各种“误导链接”,软件里更是各种捆绑,稍有不慎病毒也是无孔不入。

Win10为何不能“软件大一统”?

安卓软件虽然开源,依然有Google play应用市场。应用商店收录经过认证的正版软件,就像Steam平台一样,必然会造就应用商店飞速发展,从而更加吸引PC用户。无论如何,微软通过把exe应用收录应用商店,同时也向用户和开发者传递一个信息,那就是,Win10支持两种不同的应用格式和开发方法,开发者可选择的开发方式或者使用不同种类格式的应用。

windows模拟器安卓版(windows的软件能在安卓上运行吗)(4)

Windows10建立大一统的软件平台并不简单

从技术角度上来看显然是有可能实现的WinJS是个开源项目,运行Chrome/Webkit没有任何问题,Xamarin/Mono开发工具证明通过C#/fake XAML打造一款原生Android应用是完全有可能实现的。而微软VS2015已经拥有一款安卓模拟器,下个版本的ASP.net技术支持应用无需SDK就能原生运行在MacOS X系统中,所以为何微软不在应用方面也做同样的事?

windows模拟器安卓版(windows的软件能在安卓上运行吗)(5)

Xamarin在Visual Studio中所能开发的应用

Xamarin:始创于2011年,旨在使移动开发变得难以置信地迅捷和简单。Xamarin的产品简化了针对多种平台的应用开发,包括iOS、Android、Windows Phone和Mac App。Xamarin由许多著名的开源社区开发者创立和参与,而且也是Mono项目的主导者——C#与·NET框架的开源、跨平台实现。

如果Xamarin能做到,那微软肯定也能做到,但不是使用假冒的XAML,而是使用真正的XAML以及真正的WinRT SDK等。另外Rudy Huyn还表示Android开发人员并不喜欢Eclipse开发平台,C#语言与Java很相似,都有一些特别酷的功能(Linq),这可能会激发新晋移动开发人员使用微软工具(Blend/Visual Studio)开发应用的动力,这能帮助Windows应用商店变得更好。

是否兼容安卓 微软其实进退两难

Windows10在未来兼容Android应用问题上,在技术层面我们似乎能看到一些端倪,那就是在Windows平台上,运行Android应用的模拟器这是一件相对简单的事情,在较为早期的Windows中也都出现过。然而,我们所关注的在SDK层面就能运行原生Android应用程序模式,微软目前暂时也并没有去借鉴这样技术方式。

windows模拟器安卓版(windows的软件能在安卓上运行吗)(6)

开发Windows平台下的应用程序

所使用的SDK是个集合

好吧,既是如此我们先来看看业界人士(开发者、外媒)是怎么来评价这件事情的。

Rudy Huyn是位小有名气的开发者。最近,他就亲自撰文发表了自己的观点。Rudy Huyn明确反对了传闻中的微软计划。如果一个用户需要在一部Android手机与一部能模拟Android应用的手机中做出选择,那最终答案也是非常明了的。

之前由微软与IBM共同打造的OS/2系统就因为尝试运行Windows应用而最终消亡了,黑莓BB10系统也因为引入Android应用而走向失败。BB10系统就是个很好的反面教材,黑莓商店中清一色全部是使用Android SDK开发的应用,几乎没有使用黑莓SDK的应用。微软如果再走这一套路,接下来会发生什么事情,只能看事态发展了。

美国本土一家科技媒体的高级编辑Tom Warren在其Twitter上爆料称,微软将在明年1月21日的Win10消费者大会上宣布Win10将会支持安卓应用。

windows模拟器安卓版(windows的软件能在安卓上运行吗)(7)

Windows第三方Android模拟器

Windows10究竟以何种方式“支持”Android应用,目前来说还是未知数。目前用户可以在Windows系统中通过第三方模拟器来运行安卓应用。如果消息属实,可能意味着微软会提供官方安卓模拟器,或者通过某种其他方式来运行安卓应用。

需要指出的是,如果依然是走着Windows平台之前就已经执行的路线,使用第三方模拟器来运行安卓,那么Windows10所拿出的这种方案,无异于“炒冷饭”诚意显得就差了点意思。如果微软“狠下心”来从SDK层面来开发全新一套的工具,那另一边的声音又来了!——开发者的心这下真要被伤到了。

Windows兼容安卓 或伤及开发者

其实,在微软Windows系统考虑将兼容Android这件事情重新抓起,着力去搞好的时候。存在着两种方式,这个在前文中我们也已经详细地分析过了。关键在于重拾模拟器,还是重新定义的SDK开发层面上的。文章的写到这里,我们有必要来讨论,在两种应对措施上,微软的举措对用户、开发者所产生的影响,甚至可以说是“伤害”了。

首先,如果是模拟器的话,微软其实根本不用费太多的力气,只是让Windows通用应用兼容Android手机。这样只需发布一个应用就可以在包括Windows、Windows Phone、Xbox、Android、Chromebook、Kindle、其他Android分支系统、PPI与物联网系统等几乎所有OS中运行,除了苹果的iOS。这样无外乎,对于开发者而言,并没有彻头彻尾的影响。因为开发者在这个过程中可以提供这些第三方模拟器的开发工作,这样说得直接些,不至于造成对开发者开发积极性的打击。

windows模拟器安卓版(windows的软件能在安卓上运行吗)(8)

Windows通用应用

如果基于SDK层面开发,将Android应用引入Windows设备,会造成无人再为Windows开发本地应用的尴尬局面,因为只要开发出一款Android应用就能一劳永逸的通吃Windows设备了,所以没有人愿意再做无用功。而且兼容Android应用还会带来糟糕的用户体验与性能表现等。这样必然会造成开发者“很受伤”,那么接下来产生的负效果,可想而知。

每件事情都具有两面性,而在Windows兼容Android应用这件事情上,则或多或少会影响到Win10生态的建立。我们总是有一个思维定势,认为运行xap格式的才是WP系统,后来WP8.1出来了,我们知道运行appx格式的也是WP系统,那么为什么不能认为Win10出来后,运行apk格式的系统也是WP系统?或者说能够运行xap,appx,apk格式系统才是WP系统。所以对于apk的兼容,我们其实也可以敞开怀抱拥抱之,而不应该把它想象成洪水猛兽,或者说引狼入室。

windows模拟器安卓版(windows的软件能在安卓上运行吗)(9)

Windows Phone 8.1

但话又说回来,Win10系统的根基毕竟是WP生态当中的原生应用,如果让apk应用泛滥成灾,那Win10岂不越来越失去本来的特性,直至最后失去主导权。所以如何引入apk应用也是个问题。我们以为,既然强调了Win10生态是支持多种格式的生态系统,那么,是不是可以让应用商店发挥其充分的作用,也就是说apk应用也要提交给应用商店进行审核然后才能下载安装,否则不支持安装。这样就会一定程度限制了apk的泛滥和对原生应用的侵蚀。这样既没有伤及开发者开发产品的积极性,也不会扰乱Windows Store的正常秩序。当然,这也是建立在微软执意将“兼容Android”这件事情的基础之上的对策。