移植iOS應用,微軟是怎麼做的?
薩提亞·納德拉時代下的微軟,正在醖釀巨大的變革。最近發佈的Win10對微軟來説是一個新機遇,它打破了以往的侷限性和封閉性,開始走向全平台融合化。微軟啟動了Project Astoria和Project Islandwood兩個項目,試圖打通Windows、iOS和Android三大平台,提供一致性的用户體驗。
微軟的Android應用移植項目Project Astoria備受人們關注,通過該項目,可直接在Win10 Mobile中運行Android應用。相比之下,微軟推出的另一個移植項目,即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中運行Android應用,應用本身處於沙盒之中,應用只具有微軟提供的部分API訪問權限。無沙盒則意味着,如果微軟的移植工具不支持某一個iOS API,開發者可以直接調用Windows API來實現,不僅如此,微軟還提供Projections,允許開發者使用Objective-C語言直接調用Windows API。
由於微軟已將Project Islandwood項目開源,當開發者遇到問題時可自行解決,或者從其他開發者獲取幫助,而不必等待微軟來解決。
Project Islandwood項目看起來非常棒,但最終結果如何,取決於iOS開發者的意願,時間會給出答案。目前Project Islandwood項目只支持x86平台,未來幾週會添加ARM/Mobile平台支持。
資料來源:雷鋒網
作者/編輯:羅比