Android与iOS:谁更适合HTML 5?
openkk 13年前
<div id="news_body"> <p> <a href="/misc/goto?guid=4958329150803348639">Fiercedeveloper</a> 于 2 月 3 日刊载了一篇探讨 iOS 与 Android 平台性能的文章,作者 Aditya Bansod 在文中将 Android 4 和 iOS 5 做了一番比较。</p> <p> 2011年 12 月上旬,Google 发布了 Android 移动操作系统的最新重大升级。新操作系统是 Android 4,代号为“冰淇淋三明治(Ice Cream Sandwich)”。对于 Web 开发人员而言,这是对 Android 的一次大考:如果要在 iOS 和 Android 上构建跨浏览器的应用,HTML 5 是可行的解决方案吗?</p> <p> 我们在 Sencha 测试了最新版本的 iOS 5 和 Android 4,以了解每个平台提供给 Web 开发人员的特性以及它们各自的优势。</p> <p> 为了成为一流的 Web 应用平台,浏览器要向 Web 开发人员提供一系列核心功能:渲染引擎,用于尽可能流畅地显示视觉元素;Javascript 引擎,用于执行应用程序逻辑;以及 DOM(文档对象模型)和浏览器 API,用于提供 HTML5 的特性以及支持发起网络请求、上传文件、操作页面等动作。为了从 Web 应用开发人员的角度比较 Android 4 和 iOS 5,我们分别讨论了这三部分内容。</p> <p> <strong>WebKit</strong><strong>:Android 4</strong><strong>进步明显,但仍然落后</strong></p> <p> 几乎所有移动设备的 Web 浏览器都使用了 WebKit 渲染引擎。WebKit 最先起源于苹果的开源项目 KDE/KHTML,现在 Google、Qualcomm、RIM 和其他很多厂商都加入了 WebKit 家族。它现在已经成为移动设备上渲染 Web 内容的事实标准。Android 4 和 iOS 5 浏览器都基于 WebKit,但是版本稍有不同。Android 4 实现了 WebKit 534.30,而苹果则实现了 534.46。</p> <p> 虽然 iOS 的版本较新,但它们之间的差距很小,这是因为 WebKit 的渲染性能取决于它在硬件和软件上的具体实现。我们在测试中发现 Android 4 的渲染速度比 Android 2.x 和 Android 3 有明显提高。触摸滚动变得顺畅了很多,Android 上常见的停顿也基本上完全消失了。不幸的是,它在渲染上有明显的缺陷,比如在使用 JavaScript 和 CSS3 移动屏幕上的元素时会出现闪烁和滚屏缓慢。对于依赖动态地移动元素的 Web 应用来说,Android 4 的表现比 Android 2.2 要差。总体上说,Google 在增强浏览器体验方面取得了很大的进步。</p> <p> 同时,Android 4 新支持了很多 CSS3 特性,而 iOS 5 很早之前就支持这些特性。具体说来,Android 4 现在完善地支持了 CSS3 2D 和 3D 变换、动画、过渡和反射。这对于 Android 来说是巨大的进步,因为开发人员在设计流畅而漂亮的 Web 应用时不会再只想到苹果。伴随着对这些特性的支持,我们希望 Google 和 Android 硬件供应商一起努力,对其产品仔细琢磨,实现无闪烁和高性能,以获得开发人员对高级渲染特性的真正支持。</p> <p> <strong>JavaScript</strong><strong>:性能旗鼓相当</strong></p> <p> 在 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 方面基本完全一样,这意味着开发人员应该假设在这两种平台上开发基本没有差别。</p> <p> <strong>iOS 5/Safari</strong><strong>在 API</strong><strong>上略胜一筹</strong></p> <p> 浏览器之争的最后一部分则是浏览器 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 特性有更广泛的支持。</p> <p> <strong>现在 iOS 5</strong><strong>全面领跑</strong></p> <p> 移动浏览器的领袖还是 iOS 5。</p> <p> 尽管 Android 在 JavaScript 的性能上已经和苹果并驾齐驱,但是总体说来,移动平台的 Safari 支持的 API 更多,图形性能更好。Android 4 的浏览器取得了很大的进步,获得了更好的视觉效果(但是有缺陷)和渲染速度,更快的 JavaScript 引擎。Android 4 比以前的任何版本都要好。正在寻求 Web 标准以提供跨平台解决方案的开发人员在使用 HTML 5 时会比以前更舒服,因为 Android 4 中的改进标志着 Google 的迅猛发力,这为他们的应用开启了巨大的潜在市场。</p> <p> via<a href="/misc/goto?guid=4958329151616946942"> CocoaChina</a></p> </div>