因为iOS开发者只能使用UIWebView引擎技术,iOS Chrome在Javascript性能上比Safari慢3.84倍

jopen 12年前
   <p>        今天早上,Google 方面宣布 <a href="/misc/goto?guid=4958346317095256706">iOS Chrome 正式上线</a>。“不要误会,我真的喜欢在 iPhone 和 iPad 上的 Chrome 浏览器,不过这个 iOS 上的 Chrome 不是真正的 Chrome,它是个更慢的移动 Safari 浏览器。”这是来自 <a href="/misc/goto?guid=4958346317911416694" rel="external nofollow" target="_blank">John Herrman</a> 针对 iOS 上 Chrome 浏览器的评价。为什么会这么说呢?</p>    <p>        我们先从 非死book 在 iOS 上的 app 开始讲。非死book 在昨天透露说他们终于在做一个真正完全原生的 iOS 版 app 了。直到现在,非死book 的 app 还是以 web 技术为主,一个蓝色背景的浏览器和手机网站。那为什么突然要做一个原生 app 呢?实际上这也是 Chrome 在 iOS 上会变慢的原因:他们都使用的是一个比 Safari 技术更慢一些的浏览器引擎。</p>    <p>        移动 Safari 这个在 iOS 设备中的默认浏览器,使用了一个名为 Nitro 的 Javascript 引擎,这其中使用了一个叫“just-in-time”的汇编,可以让脚本执行得更快。技术细节并不是我们想讲的重点。但必须知道的是,just-in- time 可以让 Nitro 更快,而 Nitro 则让 Mobile Safari 更快。所以如果在手机上使用 Safari,体验会很不错。</p>    <p>        但是当其他 app 如 非死book 或者一个实际上就是浏览器的 Chrome 想在 iOS 上具有浏览器的功能时,就不能用到 Nitro 引擎。同时,开发者也不能使用自己的 Javascript 引擎。出于安全因素的考虑,app 开发者只可以用 Nitro 的变种或者说是 Nitro 的过气版本——UIWebView。这就是为什么其他浏览器在 iOS 中都被迫使用 UIWebView 的原因。</p>    <p>        虽然引擎的变化一样可以提供和移动 Safari 同保真度的结果,但这可能会使得其他浏览器更慢。下面是移动 Safari 和 非死book 的 app 在 Javascript 基准中的比较数据:</p>    <p style="text-align:center;"><a target="_blank"><img style="width:559px;height:419px;" title="enhanced-buzz-22360-1340906989-0" alt="因为iOS开发者只能使用UIWebView引擎技术,iOS Chrome在Javascript性能上比Safari慢3.84倍" src="https://simg.open-open.com/show/e195a28eb217e46d243973e30d72106a.jpg" /></a></p>    <p>        虽然要载入一个页面不仅仅是执行 Javascript,而这个基准完全只是考察 Javascript,但 非死book 的 app 单单在这方面的速度就比 Safari 速度慢了四倍。对于移动应用来说,这会是一个明显的区别,现在的页面,特别是针对移动设备的,会有大量的 Javascript 需要跑。</p>    <p>        在同步历史和书签、使用隐身模式等方面,预取的性能会帮助整体加速。Chrome 在非 iOS 系统中很受欢迎,还记得对于桌面版 Chrome 最好的评价是:它比其它浏览器都快。但这个评价似乎却不能在 iOS 上打包票。在 iOS 上的 Chrome 比其他平台上的 Chrome 要慢,它也的确在 Javascript 上,比 Safari 慢。</p>    <p>        媒体们普遍表示 iOS 的 Chrome 要比 Safari 慢,我们也在 iPad 上对 Chrome 体验了一下。尽管在 Javascript 方面可能 Chrome 会慢些,但在体验中打开网页的整体速度却没有让我们觉得 Chrome 比 Safari 慢(Chrome 还是很快的)。Google 方面也对使用 UIWebView 引擎这件事做了回应:“我们的目标是想让用户们带来与使用桌面版 Chrome 和 Android 版 Chrome 同样快速、安全和稳定的浏览体验。不过我们也需要接受平台中特别的技术限制,所以我们使用了 iOS 提供的 UIWebView 的渲染和 javascript 引擎技术。”<a><img style="display:block;margin-left:auto;margin-right:auto;" title="enhanced-buzz-28621-1340913662-3" alt="因为iOS开发者只能使用UIWebView引擎技术,iOS Chrome在Javascript性能上比Safari慢3.84倍" src="https://simg.open-open.com/show/23eae6159319770046807f078589a518.jpg" width="625" height="938" /></a></p>    <div id="come_from">    来自:     <a id="link_source2" href="/misc/goto?guid=4958346318707916245" target="_blank">36氪</a>    </div>