iOS及Android 4.1版Chrome發(fā)布 HTML5得到進(jìn)一步發(fā)展
譯文【51CTO獨(dú)家譯文】本文作者在參加今年在舊金山舉辦的谷歌I/O大會(huì)之后寫的一篇文章《Chrome for iOS and Android 4.1 Jelly Bean HTML5 development》,Chrome for iOS和Chrome for Android 4.1的發(fā)布必將促進(jìn)HTML5研發(fā)得到進(jìn)一步發(fā)展。
以下為全部譯文:
ANDROID 4.1“糖豆”瀏覽器
讓我們先從Android 4.1“糖豆”說起吧。我跟大家一樣,都曾為谷歌公司發(fā)布的Andoird系統(tǒng)平臺(tái)Chrome測試版本興奮不已。原先Android系統(tǒng)所使用的默認(rèn)瀏覽器(由于太沒存在感,因此大家都稱其為‘Android瀏覽器’)與目前的其它主流瀏覽器相比實(shí)在是未夠班,相信Chrome的加入會(huì)徹底扭轉(zhuǎn)這一不利局面。
先來看***條新聞,谷歌公司的Android平臺(tái)Chrome瀏覽器已經(jīng)完成了測試階段,目前版本號(hào)已經(jīng)更新為18。雖然當(dāng)前版本相較于之前的測試版并沒有什么功能上的拓展,但對于HTML 5的兼容性改善已經(jīng)邁出了實(shí)質(zhì)性的一步。
再來說說Nexus 7平板電腦,這是***款采用默認(rèn)搭載谷歌Chrome瀏覽器的Android 4.1系統(tǒng)的新設(shè)備,換言之,Android瀏覽器的時(shí)代將由此劃上句號(hào)。Galaxy Nexus智能手機(jī)(至少在谷歌I/O大會(huì)上我們聽到的是這個(gè)名字)在采用“糖豆”系統(tǒng)的同時(shí)仍然配備舊款A(yù)ndroid瀏覽器,有需要的用戶需要訪問谷歌Play軟件商店自行下載新的Chrome瀏覽器。
目前可以肯定的是,Chrome開發(fā)團(tuán)隊(duì)已經(jīng)確認(rèn)將為今后采用Android 4.1的新設(shè)備提供Chrome瀏覽器支持,因此Android瀏覽器告別歷史舞臺(tái)已經(jīng)成為必然。
不過,對于網(wǎng)頁視圖而言,為了保證類瀏覽器及本地應(yīng)用的正常使用,原有引擎并不會(huì)被替換掉——也就是說新設(shè)備在處理網(wǎng)頁視圖時(shí)仍然無法使用Chrome引擎。
除此之外,我們還將在Android 4.1系統(tǒng)中遭遇一定程度的瀏覽器碎片化問題。從現(xiàn)在開始發(fā)售的所有新設(shè)備及原先的Android 4.0系列機(jī)型都將升級(jí)為4.1版本,但原4.0機(jī)型將仍然使用Android瀏覽器作為默認(rèn)瀏覽工具。
而在處理HTML 5及其它新技術(shù)的兼容性方面,Chrome引擎仍然無法成為Android 4.1的標(biāo)配(例如網(wǎng)頁視圖及設(shè)備升級(jí)引擎)。
iPhone與iPad的福音:iOS版Chrome
相信這條新聞對于移動(dòng)網(wǎng)絡(luò)開發(fā)業(yè)界而言可謂影響巨大,但問題卻絕不像表面上那么單純,我們甚至可以由此引發(fā)出一場概念性大討論??傮w而言,這款iOS版Chrome其實(shí)根本就不能算是Chrome瀏覽器。啥??看到這里各位一定大吃一驚吧。沒錯(cuò),雖然這款新瀏覽器擁有Chrome風(fēng)格的外觀、onmibox以及語音搜索甚至是Chrome同步等多項(xiàng)專有功能,但其渲染及處理引擎卻根本與Chrome毫無關(guān)系。
我個(gè)人把這種東西稱為“類瀏覽器”,大家可以在評論欄中針對這一話題留下自己的見解。反正iOS版Chrome瀏覽器實(shí)際上使用的是iOS網(wǎng)頁視圖引擎,其中大部分代碼都直接取自Safari。
iOS版Chrome所使用的用戶代理協(xié)議來自Safari,只是在其中添加了“CriOS”的說法,我猜這一名稱就是“Chrome for iOS”的縮寫。在用戶代理協(xié)議中,我們看不到任何與Chrome直接相關(guān)的詞匯,因此如果大家需要***純正血統(tǒng)的Chrome,那還是別指望iOS平臺(tái)了——那些專有插件及應(yīng)用根本無法運(yùn)行在這個(gè)版本的偽Chrome之上。
換句話來說,在使用iOS版Chrome時(shí),我們查看網(wǎng)頁的方式與Safari如出一轍。雖然Chrome與Safari都基于WebKit,但實(shí)際的運(yùn)行效果仍然相去甚遠(yuǎn),這一點(diǎn)值得大家引起重視。下面我就簡單提幾條需要重點(diǎn)關(guān)注的事項(xiàng):
HTML5兼容性: iOS上的Safari瀏覽器與Android上的Chrome瀏覽器差異頗多。由于iOS版Chrome采用的是iOS版Safari的代碼,因此我們將無法使用IndexedDB、文件上傳與HTML媒體功能、動(dòng)畫計(jì)時(shí)API、全屏API以及遠(yuǎn)程調(diào)試等多種功能。雖然iOS 6為用戶帶來了諸多新特性,但由于谷歌無法插手,因此iOS版Chrome的實(shí)際運(yùn)行效果無法得到確切保證。
- 某些API——例如地理位置API——似乎并不具備獲取相關(guān)信息的權(quán)限。
- 本地存儲(chǔ):使用本地存儲(chǔ)功能時(shí),用戶也會(huì)遇上一些麻煩。Chrome瀏覽器會(huì)取代默認(rèn)的UIWebView本地存儲(chǔ)機(jī)制,但為了加以區(qū)分,Incognito模式(即無痕上網(wǎng)模式)會(huì)被更名為Incognito*mode(注意這里多了個(gè)星號(hào)),就是說本地存儲(chǔ)功能的安全性受到了一定削弱。
- 網(wǎng)頁視圖中的JavaScript 無法得到加速 (相較于 iOS系統(tǒng)中的Nitro引擎) –這意味著iOS版Chrome的代碼處理速度將比Safari慢上2.5倍。如果大家跟蘋果公司簽署過保密協(xié)議了,不妨看看iOS 6中的具體相關(guān)參數(shù)。
- 全屏應(yīng)用程序:使用iOS版Chrome的同時(shí)無法處理全屏應(yīng)用程序,因此我們不得不關(guān)閉所有提示及邀請消息。
- 無法設(shè)定為默認(rèn)瀏覽器:我們在iOS系統(tǒng)中無法將Chrome設(shè)定為默認(rèn)瀏覽器,因此每當(dāng)我們點(diǎn)擊Twitter、Facebook或者其它本地應(yīng)用程序提供的鏈接時(shí),系統(tǒng)都會(huì)自動(dòng)將地址在Safari當(dāng)中打開。要堅(jiān)持使用Chrome,我們就得手動(dòng)復(fù)制網(wǎng)址,并將其粘貼到Chrome地址欄當(dāng)中。
- iOS 版本: 4.3、5.0、5.1或者6.0,不同的iOS版本向Chrome提供的支持也不盡相信,這一點(diǎn)大家需要注意。
我還查看了一下DOM信息,發(fā)現(xiàn)其中并沒有太多新內(nèi)容,只是多出了幾個(gè)私有對象,例如__gChrome。這似乎是Chrome瀏覽器向DOM寫入的JavaScript數(shù)據(jù),用于改善網(wǎng)頁視圖的使用體驗(yàn)。我個(gè)人無法確定(本次參與谷歌I/O大會(huì)的Chrome項(xiàng)目組成員也不確定)谷歌公司是什么時(shí)候?qū)懭脒@段JavaScript代碼的。
根據(jù)我的個(gè)人感受,iOS版Chrome瀏覽器可謂別扭至極。我能理解他們推出這款瀏覽器的初衷,但這個(gè)畸形版本與Mozilla公司的產(chǎn)品也相差太遠(yuǎn)了。人家Mozilla一口氣推出了Firefox Home應(yīng)用以及Mozilla Junior兩個(gè)項(xiàng)目,而且這兩款針對iOS開發(fā)的應(yīng)用根本就沒有被直接冠以“火狐”的名頭——當(dāng)然,Mozilla知道在這樣的封閉環(huán)境下他們根本無法實(shí)現(xiàn)與主力產(chǎn)品等同的使用體驗(yàn)。
iOS版Chrome瀏覽器要求iOS 4.3系統(tǒng)及更新版本,官方將其稱為Chrome 19,且目前已經(jīng)在蘋果的App Store中開放了免費(fèi)下載。(鏈接地址:http://itunes.apple.com/us/app/chrome/id535886823?ls=1&mt=8)
Android平臺(tái)上的CHROME應(yīng)用?
在今天的主題演講中,我們得到了這樣一條信息:谷歌希望能讓Chrome HTML 5應(yīng)用運(yùn)行在包括臺(tái)式機(jī)、平板設(shè)備以及智能手機(jī)在內(nèi)的所有平臺(tái)上……好吧,但愿這是真的,我熱切期待未來的Android版Chrome能夠支持各類傳統(tǒng)Chrome應(yīng)用,相信這對于HTML 5在移動(dòng)領(lǐng)域的推廣將起到極大的正面作用。
新的Chrome Apps平臺(tái)也已經(jīng)推出,大家都希望移動(dòng)設(shè)備能夠充分支持這些API,但目前仍然沒有明確的信息告訴我們何時(shí)或者如何讓二者順利對接。我就這一問題咨詢了谷歌公司的員工,他們的回答是:“我們將在合適的時(shí)候著手進(jìn)行這些工作。”
原文鏈接:http://www.mobilexweb.com/blog/chrome-ios-android-4-1-jelly-bean-html5
【51CTO譯稿,非經(jīng)授權(quán)謝絕轉(zhuǎn)載,合作媒體轉(zhuǎn)載請注明原文出處、作者及51CTO譯者!】