当前,微软的安卓应用移植项目Project Astoria备受人们关注。通过该项目,可直接在Win10 Mobile中运行安卓应用。相比之下,微软推出的另一个移植项目,即iOS应用移植项目Project Islandwood却没有获得同样的关注程度。
Project Islandwood是提供给开发人员的工具,能够让开发人员将他们现有的iOS应用代码移植到Windows10应用项目中。不同于Project Astoria,iOS应用的移植需要开发者花费更多的精力。微软目前也正在努力改进这一工具,以便让开发者更方便地使用,为此微软还开放了该项目的源代码,让更多开发者参与进来贡献自己的力量。
在一篇博文中,微软解释了有关该项目的开发目标和准则,他们希望从iOS移植到Win10中的应用应具有:
- 完整Windows API访问权限:能够更方便地使用Objective-C语言代码访问Windows API;
- iOS兼容性:让开发者尽可能多地使用现有的iOS应用代码,做到代码复用最大化;
- 无沙盒: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平台支持。(via: WMPU & Microsoft)