對微軟跨平臺通用應用野心的思考

Dustray發表於2016-03-19

         何為跨平臺?用簡單的話說就是一次開發,執行於多種裝置.這樣的好處不言而喻.現在為止,能部分達到這一點的只有微軟的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成為免費框架,或者新增免費的社群版,使開發者更加受益.

         可謂:微軟大法好.

相關文章