萨提亚·纳德拉时代下的微软,正在酝酿巨大的变革。最近发布的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平台支持。
未经允许不得转载:陈丹的博客 » 移植iOS应用,微软是怎么做的?