【轉】Android與iOS:誰更適合HTML 5?

一枝紅杏關不住,滿園春色出牆來發表於2012-02-15

  Fiercedeveloper於2月3日刊載了一篇探討iOS與Android平臺效能的文章,作者Aditya Bansod在文中將Android 4和iOS 5做了一番比較。2011年12月上旬,Google釋出了Android移動作業系統的最新重大升級。新作業系統是Android 4,代號為“冰淇淋三明治(Ice Cream Sandwich)”。對於Web開發人員而言,這是對Android的一次大考:如果要在 iOS 和 Android 上構建跨瀏覽器的應用,HTML 5是可行的解決方案嗎?

  我們在Sencha測試了最新版本的iOS 5和Android 4,以瞭解每個平臺提供給Web開發人員的特性以及它們各自的優勢。

  為了成為一流的Web應用平臺,瀏覽器要向Web開發人員提供一系列核心功能:渲染引擎,用於儘可能流暢地顯示視覺元素;Javascript引擎,用於執行應用程式邏輯;以及DOM(文件物件模型)和瀏覽器API,用於提供HTML5的特性以及支援發起網路請求、上傳檔案、操作頁面等動作。為了從Web應用開發人員的角度比較Android 4和iOS 5,我們分別討論了這三部分內容。

  WebKit:Android 4進步明顯,但仍然落後

  幾乎所有移動裝置的Web瀏覽器都使用了WebKit渲染引擎。WebKit最先起源於蘋果的開源專案KDE/KHTML,現在Google、Qualcomm、RIM和其他很多廠商都加入了WebKit家族。它現在已經成為移動裝置上渲染Web內容的事實標準。Android 4和iOS 5瀏覽器都基於WebKit,但是版本稍有不同。Android 4實現了WebKit 534.30,而蘋果則實現了534.46。

  雖然iOS的版本較新,但它們之間的差距很小,這是因為WebKit的渲染效能取決於它在硬體和軟體上的具體實現。我們在測試中發現Android 4的渲染速度比Android 2.x和Android 3有明顯提高。觸控滾動變得順暢了很多,Android上常見的停頓也基本上完全消失了。不幸的是,它在渲染上有明顯的缺陷,比如在使用JavaScript和CSS3移動螢幕上的元素時會出現閃爍和滾屏緩慢。對於依賴動態地移動元素的Web應用來說,Android 4的表現比Android 2.2要差。總體上說,Google在增強瀏覽器體驗方面取得了很大的進步。

  同時,Android 4新支援了很多CSS3特性,而iOS 5很早之前就支援這些特性。具體說來,Android 4現在完善地支援了CSS3 2D和3D變換、動畫、過渡和反射。這對於Android來說是巨大的進步,因為開發人員在設計流暢而漂亮的Web應用時不會再只想到蘋果。伴隨著對這些特性的支援,我們希望Google和Android硬體供應商一起努力,對其產品仔細琢磨,實現無閃爍和高效能,以獲得開發人員對高階渲染特性的真正支援。

  JavaScript:效能旗鼓相當

  在iOS 5中,蘋果引入了新的JavaScript引擎Nitro,它在移動Safari瀏覽器中能極大地提高JavaScript的效能。一段時間內,iOS 5的移動瀏覽器JavaScript引擎是業內最快的。Android再次迎頭趕上:Android 4中的JavaScript引擎比起Android 2.x(Gingerbread)有了很明顯的提升。在某些硬體上,它比iOS 5更快。為了實現這一目標,Google引入了之前Chrome瀏覽器的JavaScript V8引擎,最終使得JavaScript的執行速度提升了2倍多。現在iOS 5和Android 4在JavaScript方面基本完全一樣,這意味著開發人員應該假設在這兩種平臺上開發基本沒有差別。

  iOS 5/Safari在API上略勝一籌

  瀏覽器之爭的最後一部分則是瀏覽器API,它包括網路訪問、檔案系統訪問、Canvas和其他富應用程式所需的功能。iOS對API的支援一貫領先。iOS 5支援某些特性,比如“overflow: scroll”;WebKit私有的屬性“-webkit-overflow-scrolling: touch”(允許獨立的滾動區域和觸控回彈);Web Sockets(用於即時通訊);Web Workers(用於後臺處理);大量的其他HTML 5輸入型別(比如數字和日期)。Android 4不支援這些常見的HTML 5特性,但是也有一個突出的亮點:對檔案API的支援。檔案API讓開發人員能夠操作裝置上的本地檔案,能夠開發更富體驗的應用,同時還能訪問手機攝像頭旋轉等功能。儘管如此,iOS 5還是提供了更豐富的瀏覽器API,對HTML 5特性有更廣泛的支援。

  現在iOS 5全面領跑

  移動瀏覽器的領袖還是iOS 5。

  儘管Android在JavaScript的效能上已經和蘋果並駕齊驅,但是總體說來,移動平臺的Safari支援的API更多,圖形效能更好。Android 4的瀏覽器取得了很大的進步,獲得了更好的視覺效果(但是有缺陷)和渲染速度,更快的JavaScript引擎。Android 4比以前的任何版本都要好。正在尋求Web標準以提供跨平臺解決方案的開發人員在使用HTML 5時會比以前更舒服,因為Android 4中的改進標誌著Google的迅猛發力,這為他們的應用開啟了巨大的潛在市場。

  via CocoaChina leiphone

相關文章