Android與iOS:誰更適合HTML 5?

openkk 12年前發布 | 19K 次閱讀 Android

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

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!