系统天堂
xp系统下载
您的位置:首页 > IT资讯 > IT资讯
2015-08-13 13:20:38
移植iOS应用 微软到底是怎么做到的?
[文章导读]  萨提亚·纳德拉时代下的微软,正在酝酿巨大的变革。最近发布的Win10对微软来说是一个新机遇,它打破了以往的局限性和封闭性,开始走向全平台融合化。微软启动了Project A

  萨提亚·纳德拉时代下的微软,正在酝酿巨大的变革。最近发布的Win10对微软来说是一个新机遇,它打破了以往的局限性和封闭性,开始走向全平台融合化。微软启动了Project Astoria和Project Islandwood两个项目,试图打通Windows、iOS和Android三大平台,提供一致性的用户体验。 微软的安卓应用移植项目Project Astoria备受人们关注,通过该项目,可直接在Win10 Mobile中运行安卓应用。

  

  相比之下,微软推出的另一个移植项目,即iOS应用移植项目Project Islandwood却没有获得同样的关注程度。

  Project Islandwood是提供给开发人员的工具,能够让开发人员将他们现有的iOS应用代码移植到Windows10应用项目中。不同于Project Astoria,iOS应用的移植需要开发者花费更多的精力。微软目前也正在努力改进这一工具,以便让开发者更方便地使用,为此微软还开放了该项目的源代码,让更多开发者参与进来贡献自己的力量。

  

  在一篇博文中,微软解释了有关该项目的开发目标和准则,他们希望从iOS移植到Win10中的应用应具有:

  1、 完整Windows API访问权限:能够更方便地使用Objective-C语言代码访问Windows API;

  2、 iOS兼容性:让开发者尽可能多地使用现有的iOS应用代码,做到代码复用最大化;

  3、 无沙盒:iOS与Windows API可协同工作;

  这正是与Project Astoria所不同的地方,在Win10 Mobile中运行安卓应用,应用本身处于沙盒之中,应用只具有微软提供的部分API访问权限。无沙盒则意味着,如果微软的移植工具不支持某一个iOS API,开发者可以直接调用Windows API来实现,不仅如此,微软还提供Projections,允许开发者使用Objective-C语言直接调用Windows API。

  由于微软已将Project Islandwood项目开源,当开发者遇到问题时可自行解决,或者从其他开发者获取帮助,而不必等待微软来解决。

  Project Islandwood项目看起来非常棒,但最终结果如何,取决于iOS开发者的意愿,时间会给出答案。目前Project Islandwood项目只支持x86平台,未来几周会添加ARM/Mobile平台支持。