新聞中心
谷歌是否會將蘋果的swift語言視為Android平臺上的“一等公民”? 讓Swift成為Android平臺上的主流開發(fā)選項(xiàng)無疑困難重重。在今天的文章中,我們將一同探討谷歌為何仍然需要倚重Java。

創(chuàng)新互聯(lián)是一家專業(yè)提供冷水灘企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、H5網(wǎng)站設(shè)計、小程序制作等業(yè)務(wù)。10年已為冷水灘眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
要找到答案,我們不妨考慮另一個更為具體的問題:谷歌需要投入多大力量才能讓Swift成為Android開發(fā)者與用戶的***?另外,谷歌為什么要費(fèi)力選擇這樣一條坎坷而漫長的道路?
難題:Android部分
從Android轉(zhuǎn)移至Swift就如同我們舉家移民一樣困難。首先,谷歌需要為Android開發(fā)Swift運(yùn)行時,并保證其功能與現(xiàn)有Java運(yùn)行時一一對應(yīng)。谷歌在這方面已經(jīng)做出了一些嘗試——包括將Dalvik VM替換為速度更快的ART運(yùn)行時,但二者仍以Java為基礎(chǔ)。
更困難的是,Swift幾乎無法成為Android平臺上的***語言。投入Swift懷抱的工作必須逐步完成——即首先同時使用Swift與Java VM,而后慢慢只保留Swift選項(xiàng)。這種過渡需要耗時數(shù)年,特別是在Android這樣廣泛普及的生態(tài)系統(tǒng)當(dāng)中。
蘋果也面臨著類似的難題,因?yàn)槠湓谶^去兩年中同樣需要在生態(tài)系統(tǒng)中同時維護(hù)Swift與objective-c。在這一系統(tǒng)當(dāng)中,蘋果擁有著絕對的主導(dǎo)權(quán)。但Android相對來說麻煩更多,因?yàn)槠鋼碛写罅窟\(yùn)營商、手機(jī)制造商再加上谷歌自身這三股重要力量需要平衡。
最終,這一舉措還需要Android開發(fā)者的積極加入——而大多數(shù)人對Swift并不太感興趣。
難題:開發(fā)者部分
除了谷歌制定決策外,開發(fā)者也需要加入進(jìn)來才能保證Swift順利過渡至Android。
當(dāng)初Android之所以選擇了Java,是因?yàn)槠鋼碛胸S富的開發(fā)資源以及從業(yè)者基礎(chǔ)。但更年輕且測試工作還不夠完善的Swift則缺少同樣的發(fā)展動力。
不過Swift確實(shí)勢頭強(qiáng)勁,各開發(fā)商的認(rèn)同已經(jīng)讓其在今年4月的Tiobe編程語言排行中位列前二十(目前為第十五名)。
當(dāng)然,開發(fā)者也需要耗費(fèi)相當(dāng)長的時間來了解并徹底掌握新的語言——這意味著Swift將與Java繼續(xù)共存下去。
由甲骨文轉(zhuǎn)向蘋果
就目前來講,Android計劃使用OpenJDK而非甲骨文的Java,這主要是由于后者總是在拿后者的知識產(chǎn)權(quán)騷擾谷歌的開發(fā)工作。但毫無疑問,甲骨文在未來仍將繼續(xù)主導(dǎo)Java的發(fā)展方向。
同樣的,Swift則是蘋果的寵兒。即使已經(jīng)被轉(zhuǎn)為開源,這也只是Swift為了長久發(fā)展并在跨平臺應(yīng)用中得到肯定的途徑。如果其能夠降低平臺與運(yùn)行時對專有技術(shù)的高度依賴性,相信谷歌也將不斷且積極地推動Swift轉(zhuǎn)型。
但需要再次強(qiáng)調(diào),Swift的前進(jìn)方向由蘋果所掌握。谷歌當(dāng)然不可能希望自己被關(guān)鍵性競爭對手所控制——即使相關(guān)技術(shù)方案屬于開源項(xiàng)目。從理論角度講,谷歌確實(shí)可以為Swift打造fork并借此取得主動,但對完整語言的維護(hù)與管理工作將帶來高昂的成本。
按谷歌的思路,轉(zhuǎn)向Go也許更為靠譜
如果谷歌方面真的希望擺脫第三方語言與運(yùn)行時的束縛,那么由Java轉(zhuǎn)向Swift可能并非***的選擇。內(nèi)部建立語言、運(yùn)行時及工作鏈才是理想途徑:Go,或者說Golang,正是谷歌的救世主。
Go目前已經(jīng)被應(yīng)用于移動開發(fā)領(lǐng)域。其1.5及更高版本能夠同時支持Android與iOS,且具備“app”軟件包,意味著開發(fā)者能夠?yàn)檫@兩套平臺編寫全Go應(yīng)用。當(dāng)然需要指出,移動設(shè)備對Go的支持能力尚處于實(shí)驗(yàn)性階段。
如果谷歌公司將Go或者Swift作為Java之外的Android平臺補(bǔ)充方案,那么還有大量工作需要逐步完成。就目前來看,Android生態(tài)系統(tǒng)在相當(dāng)長的周期內(nèi)仍將以Java為核心。
網(wǎng)頁名稱:Swift難以主導(dǎo)Android平臺的四個理由
文章鏈接:http://fisionsoft.com.cn/article/dhcphjh.html


咨詢
建站咨詢
