微軟Windows10移植Android應(yīng)用程序是一場(chǎng)存在風(fēng)險(xiǎn)的賭博

微軟Windows10移植Android應(yīng)用程序是一場(chǎng)存在風(fēng)險(xiǎn)的賭博

時(shí)間:2015-05-11 10:43 作者: 來(lái)源:系統(tǒng)城

1. 掃描二維碼隨時(shí)看資訊

2. 請(qǐng)使用手機(jī)瀏覽器訪問(wèn):

手機(jī)查看
評(píng)論

    在微軟Build 2015開(kāi)發(fā)者大會(huì)上,微軟宣布Windows10操作系統(tǒng)將支持運(yùn)行Android和iOS應(yīng)用。微軟表示利用Android應(yīng)用中底層的Java和C++代碼來(lái)復(fù)制創(chuàng)建Windows10應(yīng)用,通過(guò)在Windows10系統(tǒng)中預(yù)裝一個(gè)“Android子系統(tǒng)”來(lái)實(shí)現(xiàn)Android程序的運(yùn)行;而iOS應(yīng)用,則是通過(guò)Objective-C語(yǔ)言來(lái)轉(zhuǎn)化、移植為Windows10應(yīng)用。雖然Winodws移植Android應(yīng)用程序和黑莓的有著不同,但對(duì)于微軟來(lái)說(shuō),這依然是一場(chǎng)存在風(fēng)險(xiǎn)的賭博行為。

Windows10操作系統(tǒng)將支持運(yùn)行Android和iOS應(yīng)用

    一個(gè)操作系統(tǒng)移植其他操作系統(tǒng)的應(yīng)用程序,其實(shí)這并不是第一次。比如,IBM的OS/2曾經(jīng)就在90年代宣稱(chēng)能兼容運(yùn)行所有的Windows應(yīng)用程序;黑莓的BB 10系統(tǒng)就能直接運(yùn)行Android應(yīng)用程序,還有亞馬遜的自制系統(tǒng)也能運(yùn)行Android應(yīng)用程序。然而,以上提到的并沒(méi)有哪一個(gè)系統(tǒng)因?yàn)榧嫒菔袌?chǎng)上的主流系統(tǒng)的應(yīng)用程序而獲得成功。

兼容安卓和iOS的應(yīng)用程序

    為了兼容,微軟發(fā)布了UWP Bridge ,內(nèi)含Astoria、Islandwood、Centennial、Westminster四個(gè)項(xiàng)目,可將Android、iOS、傳統(tǒng)Windows,以及Web網(wǎng)站轉(zhuǎn)換為UWP Apps。其中,Astoria和Islandwood項(xiàng)目會(huì)對(duì)微軟的生態(tài)系統(tǒng)產(chǎn)生一定的影響,但由于兼容的方式和我們上面提到的有所不同,可能副作用較小。由于目前Windows10并沒(méi)有正式發(fā)布,效果難以預(yù)計(jì),所以情況并不明朗。


Astoria項(xiàng)目

    Astoria和Islandwood表面上相似,但其基本的技術(shù)和執(zhí)行方式是非常不同的。對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),由于Windows10內(nèi)置一個(gè)安卓子系統(tǒng),Astoria可能更加直觀和簡(jiǎn)單。幾乎所有的Windows軟件(包括通用的Windows應(yīng)用程序)使用的其實(shí)是Win 32 API。Windows還包括POSIX子系統(tǒng)。POSIX是IEEE標(biāo)準(zhǔn)的API,基本上定義了Unix API。Windows NT包括POSIX的支持。微軟在Windows 2000中刪除了OS/2子系統(tǒng)。POSIX子系統(tǒng)在Windows 7中是一個(gè)可選的Windows組件,但Windows 8不能啟用這個(gè)POSIX子系統(tǒng)組件。然而,Winodows內(nèi)核還是包含此POSIX子系統(tǒng),而且項(xiàng)目Astoria利用了這一點(diǎn)。它引入了一個(gè)新的Windows子系統(tǒng):Android子系統(tǒng)。

    Android子系統(tǒng)在Windows上實(shí)現(xiàn)了安卓系統(tǒng)的大多數(shù)API。該子系統(tǒng)提供安卓風(fēng)格的API,比如文件系統(tǒng)的訪問(wèn)、圖形處理、訪問(wèn)傳感器和相機(jī)、進(jìn)程和線程的創(chuàng)建、安全和網(wǎng)絡(luò)功能。這些都是利用Windows內(nèi)核來(lái)提供的。另外,Android由一個(gè)Linux內(nèi)核和少量的開(kāi)放源碼本機(jī)庫(kù),本機(jī)代碼應(yīng)用程序和一套開(kāi)源的Java API再加上谷歌的服務(wù)程序框架(GMS)。除了GMS外,前2個(gè)都是開(kāi)源的。對(duì)于Android開(kāi)放源碼的組件,微軟可以在原則上,使用開(kāi)放源碼的部分直接呈現(xiàn)應(yīng)用程序開(kāi)源調(diào)用的相同的Java API,但將這些API重定向到合適的Windows服務(wù)/API。值得注意的是,除了Windows10 For Phone和基于ARM處理器的小尺寸平板外,其他平臺(tái)上的Windows10并不包含Android子系統(tǒng)。

    Astoria對(duì)于開(kāi)發(fā)人員的體驗(yàn)是非常類(lèi)似于普通的Android開(kāi)發(fā)體驗(yàn)。開(kāi)發(fā)人員將繼續(xù)使用Android開(kāi)發(fā)環(huán)境,例如Eclipse或IntelliJ,應(yīng)用程序的大部分移植基本是自動(dòng)化的,少數(shù)GMS的API需要手動(dòng)更改為對(duì)應(yīng)的微軟的服務(wù)/API。此外,微軟還提供一些Windows特定的Api功能,如動(dòng)態(tài)磁貼給Android應(yīng)用程序訪問(wèn)。當(dāng)然,開(kāi)發(fā)人員將需要更改代碼以利用這些API。

    基本上微軟并不會(huì)使用黑莓兼容安卓的套路。相反,Android開(kāi)發(fā)者必須提交他們的APK包到Windows應(yīng)用商店。商店將驗(yàn)證這些APK是否使用了無(wú)法支持的API,然后將apk文件封裝在Windows AppX包中。


Islandwood項(xiàng)目

    Islandwood項(xiàng)目的情況和Android的Astoria不一樣。首先,微軟并沒(méi)有在Windows10中集成一個(gè)“iOS子系統(tǒng)”,其次,也無(wú)法直接移植iOS的軟件包。微軟實(shí)現(xiàn)的方法是使用Visual Studio,Visual Studio支持Objective-C和導(dǎo)入Xcode項(xiàng)目文件,然后使用Visual Studio將其編譯為Windows應(yīng)用程序。其實(shí)微軟使用的這一技術(shù)最初不是微軟開(kāi)發(fā)的,而是由一家叫Inception Mobile的公司為黑莓操作系統(tǒng)和三星Tizen開(kāi)發(fā)的,它將Objective-C代碼盡可能多的轉(zhuǎn)變成Java或C++代碼,掛鉤進(jìn)原生平臺(tái)的API。

    當(dāng)然,相比較起兼容安卓,兼容iOS在移植難度上要稍微高一些,這首先是因?yàn)閕OS并不是開(kāi)源的系統(tǒng),其次是因?yàn)閕OS平臺(tái)某些獨(dú)特的特點(diǎn),比如iOS沒(méi)有后退鍵。同時(shí)由于iOS還有一種新的語(yǔ)言Swift,雖然微軟聲稱(chēng)正在進(jìn)行兼容支持,但目前來(lái)看,不可能很快馬上就支持。

    Astoria和Islandwood,開(kāi)發(fā)人員必須采取的第一步。這一步可能不是很大——很可能都是將未經(jīng)修改的APK直接進(jìn)行提交。這樣應(yīng)用程序可能就不能使用Windows系統(tǒng)的獨(dú)特功能,比如Xbox成就和動(dòng)態(tài)磁貼,或許這些程序可能會(huì)在商店里面評(píng)論口碑較差并且下載量低下。Islandwood甚至將更加嚴(yán)重,因?yàn)樗鼘⑿枰匦戮幾g和一些代碼的更改。雖然如此,移植應(yīng)用程序到Windows上的體驗(yàn)應(yīng)該略優(yōu)于黑莓。

    微軟的做法也不太可能阻礙本機(jī)應(yīng)用程序的開(kāi)發(fā)。Astoria的限制妨礙它真正取代本機(jī)開(kāi)發(fā),人可以想象最終這些限制將會(huì)放寬,雖然這不會(huì)很快發(fā)生。Astoria產(chǎn)生的應(yīng)用程序能運(yùn)行于手機(jī)和小尺寸平板電腦,但其他平臺(tái)并不能運(yùn)行。

    為了快速構(gòu)建通用應(yīng)用程序,微軟免費(fèi)為Windows 7和8提供免費(fèi)升級(jí)(第一年內(nèi)升級(jí)),并放出“三年內(nèi)運(yùn)行Windows10的用戶達(dá)到10億”的豪言壯語(yǔ)。即使最終只有一半,5億用戶仍然是大量用戶。對(duì)于開(kāi)發(fā)者來(lái)說(shuō),這么大的基數(shù)也是賺錢(qián)的商機(jī)。Astoria對(duì)于移動(dòng)平臺(tái)應(yīng)用程序匱乏確實(shí)是有用,但微軟將其限制于移動(dòng)平臺(tái)的Windows。如果安卓開(kāi)發(fā)者嘗到了甜頭,想要進(jìn)軍全平臺(tái)Winodws程序,他們將不得不編寫(xiě)真正的Windows程序。

    微軟這次的舉動(dòng)是存在風(fēng)險(xiǎn)的。如果不能鼓起更廣泛的Windows開(kāi)發(fā)商的利益,特別是Astoria能對(duì)Windows智能手機(jī)的發(fā)展產(chǎn)生侵蝕性影響。微軟需要與開(kāi)發(fā)人員進(jìn)行更加廣泛的溝通和互動(dòng);雖然戰(zhàn)略的確有風(fēng)險(xiǎn),它這并不意味著微軟在移動(dòng)市場(chǎng)已經(jīng)投降認(rèn)輸了,事實(shí)上,微軟所做的這些都是為了移動(dòng)市場(chǎng)。

    當(dāng)然,對(duì)于Windows手機(jī)用戶來(lái)說(shuō),會(huì)在短期內(nèi)受益。不過(guò)與此同時(shí),微軟的Windows原生App也會(huì)面臨著巨大的挑戰(zhàn),等用戶要升級(jí)設(shè)備時(shí),為什么還要繼續(xù)選擇Windows Phone呢?多數(shù)人可能都會(huì)直接選擇Android平臺(tái),畢竟在該平臺(tái)上運(yùn)行這些應(yīng)用的效果更好。那么,還是讓時(shí)間來(lái)證明吧。

< 上一篇

win7系統(tǒng)下Windows BitLocker驅(qū)動(dòng)器加密保護(hù)數(shù)據(jù)安全的方法

下一篇 >

微軟公布Win10 Edge瀏覽器新版網(wǎng)絡(luò)工具體驗(yàn)和支持細(xì)節(jié)

相關(guān)教程

網(wǎng)友評(píng)論

0

評(píng)論就這些咯,讓大家也知道你的獨(dú)特見(jiàn)解

以上留言僅代表用戶個(gè)人觀點(diǎn),不代表系統(tǒng)城立場(chǎng)

win10系統(tǒng)教程排行榜
系統(tǒng)下載排行

系統(tǒng)合集
最近更新

系統(tǒng)

軟件

安卓

文章