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

36氪  •  扫码分享
我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

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

今天早上,Google方面宣布
\niOS Chrome正式上线。“不要误会,我真的喜欢在iPhoneiPad上的Chrome浏览器,不过这个iOS上的Chrome不是真正的Chrome,它是个更慢的移动Safari浏览器。”这是来自
\nJohn Herrman针对iOS上Chrome浏览器的评价。为什么会这么说呢?

我们先从Facebook在iOS上的app开始讲。Facebook在昨天透露说他们终于在做一个真正完全原生的iOS版app了。直到现在,Facebook的app还是以web技术为主,一个蓝色背景的浏览器和手机网站。那为什么突然要做一个原生app呢?实际上这也是Chrome在iOS上会变慢的原因:他们都使用的是一个比Safari技术更慢一些的浏览器引擎。

移动Safari这个在iOS设备中的默认浏览器,使用了一个名为Nitro的Javascript引擎,这其中使用了一个叫“just-in-time”的汇编,可以让脚本执行得更快。技术细节并不是我们想讲的重点。但必须知道的是,just-in-time可以让Nitro更快,而Nitro则让Mobile Safari更快。所以如果在手机上使用Safari,体验会很不错。

但是当其他app如Facebook或者一个实际上就是浏览器的Chrome想在iOS上具有浏览器的功能时,就不能用到Nitro引擎。同时,开发者也不能使用自己的Javascript引擎。出于安全因素的考虑,app开发者只可以用Nitro的变种或者说是Nitro的过气版本——UIWebView。这就是为什么其他浏览器在iOS中都被迫使用UIWebView的原因。

虽然引擎的变化一样可以提供和移动Safari同保真度的结果,但这可能会使得其他浏览器更慢。下面是移动Safari和Facebook的app在Javascript基准中的比较数据:

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

虽然要载入一个页面不仅仅是执行Javascript,而这个基准完全只是考察Javascript,但Facebook的app单单在这方面的速度就比Safari速度慢了四倍。对于移动应用来说,这会是一个明显的区别,现在的页面,特别是针对移动设备的,会有大量的Javascript需要跑。

在同步历史和书签、使用隐身模式等方面,预取的性能会帮助整体加速。Chrome在非iOS系统中很受欢迎,还记得对于桌面版Chrome最好的评价是:它比其它浏览器都快。但这个评价似乎却不能在iOS上打包票。在iOS上的Chrome比其他平台上的Chrome要慢,它也的确在Javascript上,比Safari慢。媒体们普遍表示iOS的Chrome要比Safari慢,我们也在iPad上对Chrome体验了一下。尽管在Javascript方面可能Chrome会慢些,但在体验中打开网页的整体速度却没有让我们觉得Chrome比Safari慢(Chrome还是很快的)。Google方面也对使用UIWebView引擎这件事做了回应:“我们的目标是想让用户们带来与使用桌面版Chrome和Android版Chrome同样快速、安全和稳定的浏览体验。不过我们也需要接受平台中特别的技术限制,所以我们使用了iOS提供的UIWebView的渲染和javascript引擎技术。”
\n因为iOS开发者只能使用UIWebView引擎技术,iOS Chrome在Javascript性能上比Safari慢3.84倍

随意打赏

ios开发者中心ios开发者平台ios ui
提交建议
微信扫一扫,分享给好友吧。