何为跨平台?用简单的话说就是一次开发,运行于多种设备.这样的好处不言而喻.现在为止,能部分达到这一点的只有微软的UWP(Windows10)应用.UWP,全称Universal Windows Platform,即Windows通用应用平台,此平台跟随Windows10在MWC 2015上出现,UWP平台应用可以在Windows10 Mobile\Windows 平板\PC\Xbox游戏主机\AR虚拟设备Hololens\物联网等设备上运行,也就是说一个应用安装包,安装运行于任何Windows10的设备,无论手机版还是电脑版,无论ARM还是x86 x64,都可以完美兼容.然而,微软的野心并不止于此.

         在微软build2015开发者大会上,微软宣布开启四大移植项目:Project Westminster\ProjectCentennial\Project Islandwood以及Project Astoria,分别代表移植Web应用\传统Win32/.NET应用\iOS应用以及Android应用,这四个项目一经宣布便在开发者圈内炸开了锅.

         早前我们最先接触到的便是四大移植项目中的Project Astoria,即安卓移植项目,在去年七八月份微软推送的Windows10 Mobile预览版中我们可以在其中安装进行简单机器移植过的安卓软件,为此某网站还开发并推出了一键移植工具,移植后的软件或多或少出现一些问题,多数集中在网络连接和硬件比如摄像头的兼容上.一些大牛们对微软推送的预览版系统包进行分析查看,发现其Windows 10Mobile系统内其实包含了一个精简过的安卓子系统,看来并不是真正的完美移植,不过想想也合理:若想完全将一个Android应用安装包移植成UWP应用,目前来看不手动改一些代码是不可能的,用一键移植工具移植的Android应用必然与安卓系统本身脱不了干系.

        可能是安卓子系统太累赘,也可能是安卓软件安全问题堪忧,微软在15年年末的Windows 10 Mobile预览版中将安卓子系统移除,并宣布将ProjectAstoria项目"搁浅",待时机成熟后重启,从此安卓移植项目就告一段落.

       虽然安卓移植项目暂停了,但是微软的目标更加明确了,iOS移植项目迎风顶了上来.最近微软动作频频,不少由iOS应用移植来的UWP应用开始浮出水面.与Android应用相比,iOS应用质量更高\安全性更好,并且不需要在Windows 10系统内内置子系统,可谓"治病"的良药.众所周知,Windows应用商店应用(非Win32应用)数量少,大部分应用与其他系统版本的相比质量又低,为了缓解这种尴尬,微软不得不推出了四大移植项目.对iOS应用的移植现阶段在技术上已经没有困难,开发者只需要更改少量代码.在微软的移植教程中,5分钟便可移植一个横板通关的小游戏,实在简便之极.但是技术问题解决了,那还只剩下一个拦路虎,苹果公司.因为微软移植的是苹果家的应用,只要苹果下上一纸禁令,微软的这个梦就要破灭了.

        除此之外,另外两个项目Project Westminster和Project Centennial也在有条不紊的进行.传说中的微软重量级旗舰手机SurfacePhone(可能发布时不叫这个名)估计也将会在今年下半年发布,成为首个搭载x86指令集CPU的手机,预测具体型号为Intel Core M.而这,也将为ProjectCentennial铺路,在手机上运行Win32(.exe)程序将不再是梦.有了庞大数量的Win32程序做支撑,Windows应用数量少将不再是问题.

        这四大工程还不是微软的终极目标,或许这仅仅是一个支线任务,而主线任务则是将支线任务倒过来完成,实现真正的跨平台应用.那就是一次开发,运行于市面上所有的主流系统,包括Android和iOS.实际上,从去年发布的开发工具VisualStudio 2015中就可以找到利用C#语言进行Android和iOS应用的制作项目工具,而这一切,归功于一个框架:Xamarin.

        Xamarin是一个收费的跨平台开发框架,在这一框架内,可以开发iOS\Android\Windows应用,目前Xamarin已经集成在了VisualStudio中,而证明微软野心的另一则新闻是:微软在前不久宣布成功收购Xamarin,这有望使Xamarin成为免费框架,或者添加免费的社区版,使开发者更加受益.

         可谓:微软大法好.