對微軟跨平臺通用應用野心的思考
何為跨平臺?用簡單的話說就是一次開發,執行於多種裝置.這樣的好處不言而喻.現在為止,能部分達到這一點的只有微軟的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成為免費框架,或者新增免費的社群版,使開發者更加受益.
可謂:微軟大法好.
相關文章
- RSA金鑰的跨平臺通用
- 應用跨平臺問題?
- 微軟奧爾良Orleans分散式應用框架已是跨平臺微軟分散式框架
- 使用Electron構建跨平臺的桌面應用
- MediaPipe - 跨平臺機器學習應用開發框架API機器學習框架
- cordova + vue cli構建跨平臺應用Vue
- 用HTML5+JS開發跨平臺的桌面應用HTMLJS
- 通用網頁呼叫本地應用程式方案(windows平臺)網頁Windows
- 跨平臺打造移動原生應用的10大武器
- 微軟開源 .NET 框架 實現跨平臺微軟框架
- Electron構建跨平臺應用Mac/Windows/LinuxMacWindowsLinux
- HTML5到跨平臺App應用深度解析HTMLAPP
- Flutter嚐鮮:跨平臺移動應用開發Flutter
- Google新推出的跨平臺聊天應用Hangouts不支援XMPPGo
- 微軟推跨平臺IE瀏覽器 用於開發測試微軟瀏覽器
- 藉助Unity AR Foundation構建跨平臺AR應用Unity
- NativeScript3.0.1釋出,Native跨平臺應用
- 使用Xamarin實現跨平臺移動應用開發
- cross-plateform 跨平臺應用程式-01-概覽ROSORM
- 使用 JS 構建跨平臺的原生應用:ListView 元件介紹JSView元件
- 用JS開發跨平臺桌面應用,從原理到實踐JS
- 微軟推薦通用 Windows 應用開發者使用 SQLite微軟WindowsSQLite
- cross-plateform 跨平臺應用程式-05-Flutter 介紹ROSORMFlutter
- cross-plateform 跨平臺應用程式-07-Taro 介紹ROSORM
- Kuuga——轉化任何 Web 頁面為桌面應用的跨平臺工具Web
- Electron-使用 JavaScript, HTML 和 CSS 構建跨平臺的桌面應用JavaScriptHTMLCSS
- 使用 cmake 來搭建跨平臺的應用程式框架:C語言版本框架C語言
- 一個簡單而美觀的跨平臺播客應用程式
- 聊一聊對跨平臺容器生態的理解
- Geekbench 6 for Mac v6.2.2免啟用版:跨平臺的效能對比Mac
- Facebook 的應用機器學習平臺機器學習
- JAVA的跨平臺原理Java
- 微信平臺應用
- rust跨平臺Rust
- 一應俱全!開源跨平臺3D應用開發框架Minko3D框架
- 微軟借力.NET開源跨平臺支援,佈局物聯網平臺開發微軟
- 一款開源的跨平臺實時web應用框架——DotNetifyWeb框架
- 微軟把UWP定位成業務線應用程式開發平臺微軟