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