AD
首页 > 头条 > 正文

为何国内浏览器内核止步于Chromium 32?-科技频道-金鱼财经网

[2021-02-19 22:24:33] 来源: 编辑:wangjia 点击量:
评论 点击收藏
导读: 截至2014年05月11日,Google Chrome官方稳定版是34.0.1847.131,此版本发布于2014年04月25日,预计2周内,35的稳定版也将发布。纵观国内Chrome系的浏览器产品

截至2014年05月11日,Google Chrome官方稳定版是34.0.1847.131,此版本发布于2014年04月25日,预计2周内,35的稳定版也将发布。纵观国内Chrome系的浏览器产品,内核版本基本都停留在Chromium 32以下。这是什么原因呢?

浏览器(正式版)发布时间Chromium内核版本

世界之窗浏览器 6.22014年04月18日31.0.1650.63

UC浏览器 1.0beta2014年04月10日32.0.1700.107

360安全浏览器 6.3-2014年02月24日21.0.1180.89

傲游浏览器 4.32014年02月24日30.0.1599.101

360极速浏览器 7.5-2014年02月21日30.0.1599.101

搜狗浏览器 4.22014年02月21日28.0.1500.95

猎豹浏览器 正式版4.52014年02月13日29.0.1547.66

百度浏览器 6.12014年01月24日26.0.1410.43

枫树浏览器 2.0.9.202013年08月29日27.0.1453.110

Chrome 32正式版是在2014年01月16日发布的,至今已经接近四个月,按照以前的经验,国内浏览器厂商一般都会在30天内跟进到新的内核,这次对于32版本的内核,跟进速度已经明显落后于以往,这是什么原因呢?是Chrome32版本有什么严重问题,还是国内厂商厌倦了Chrome内核的跟进,抑或是其他什么技术原因导致的这种延迟呢?下面逐条分析上述可能性:

1. Chrome 32版本有严重问题?

Google Chrome官方正式版发布从32、33至目前的34,历时已经三个多月。从Chromium社区的反馈上来看,性能、安全性上的进步都是很大的。Chrome 32加强了对未知来源扩展的安装的限制,Chrome 33提高了对插件执行的验证门槛,这些改动,都进一步增强了安全性;Chrome 34优化了界面图形引擎,提高了软件交互性能。

从这个分析来看,Chrome32出现严重问题,被国内厂商集体“嫌弃”的可能性不大,并且Google作为一家全球领先的科技公司,其开发流程是非常严谨的,一个版本从进入开发分支到发布,中间会经历至少3-4个月的迭代期(也就是Chrome 30的正式版发布前,32版本已经进入开发分支),期间每次Build还会自动执行大量的Unit Tests,可以说,一个正式发布的版本出现大问题的可能行是很小的。

这样看来,因为Chrome 32有问题而导致国内浏览器厂商不跟进内核的可能是不存在的。

2. 国内厂商厌倦了Chrome内核的跟进?

如今,国内的浏览器产品竞争进入平淡期,看似大家的份额各执一块,不相侵犯;是否国内厂商安于现状,开始吃老本呢?在我看来,这种可能是很小的,国内科技公司的老板们见惯了风生水起、三十年河东三十年河西,是非常具有忧患意识的,浏览器作为桌面三驾马车的重要一员,其渠道优势及变现优势都是很大的,哪个思维正常的老板都应该是非常重视的。据某浏览器业内负责运营的朋友透露,实际上互联网浏览器的竞争今天仍然是异常激烈的,只不过形态更加趋于成熟,让互联网用户不那么容易感觉到竞争的存在;在这种竞争态势下,很难想到有什么理由让厂商们“厌倦”参与竞争,这种可能性的猜测看来也是不成立的。

3. 什么技术原因导致的这种延迟呢?

分析这一点,要有对浏览器架构熟悉的工程师来参与才可以完成。最直接的手段就是对比Chromium 31与Chromium 32两个版本的技术架构。经过七星浏览器架构师对这两个版本的分析,发现Chromium 32相对于Chromium 31,最大的架构上的变化应该是全面启用了Aura引擎。

Aura是Google 2011年6月份的时候推出的适用于Chrome和Chrome OS的新一代窗口管理器,将会是Chrome发展的下一个里程碑。它被定位在Chrome的新的加速用户界面框架,旨在提供更丰富的视觉效果,大型动画过渡和其他只能由硬件加速产生的效果。现在的Aura UI要集中考虑实现硬件平台的兼容性。有趣的是Mozilla采用了类似的做法,他们将在其浏览器未来版本中删除GTK,这体现出浏览器发展的一种趋势。

Aura引擎会对浏览器厂商的开发有什么影响呢?粗略分析大概有以下几点:

a. 新的桌面窗口结构,需要厂商全部重新调整应用程序顶端架构;

b. 国内厂商大多是双核浏览器,Aura引擎的介入,使得双核在协调上出现障碍;

c. 国内厂商加入太多自制的交互元素,这些交互元素需要针对Aura引擎重新设计开发;

有过软件项目经验的朋友应该能从上述三点看出这个Aura引擎,对第三方浏览器的开发造成了多大的麻烦,上述三点的工作量估计,没有几个月至半年是不够的,并且前提是要有对架构把握很好的技术人员来操作。其实Google在很早就开始对Chromium使用Aura,只是一直处于小范围功能的尝试,这次Chromium 32全面启用Aura引擎,从Google方面来说,并不是什么意料之外的事情。

在此看来,国内的厂商应该是正在突破这个技术难题,只是需要一些时间,预计过几个月之后,各厂商会相继推出基于Chromium 32内核的升级产品。

为了让大家能够更直观的感受传统架构与Aura架构的区别,分别针对国内几款主流双核浏览器,借助Spy++开发工具,展示了采用Chromium 32之前内核的浏览器与Chromium 32及以后内核的浏览器的特征:

Google Chrome 34:

Google Chrome 31:

360极速浏览器:

猎豹浏览器:

世界之窗浏览器6.2:

UC浏览器:

傲游浏览器:

搜狗浏览器:

从上述截图看出,采用Aura架构的Google Chrome 34窗口结构更加简单,没有了原来的多层嵌套结构,这就符合了Aura技术层面的特性:界面元素的渲染,都有Aura引擎接管,而不是杂揉更多操作系统相关的实现。这一点可以看出,Chrome未来会更好的支持跨平台。

有人会问,UC宣称自己的内核是基于Chromium 32的,为何上面的截图显示仍是旧的架构呢?Google Chrome 32时虽然全面启用了Aura架构,但是在Chromium开源项目的代码中,在32版本时,仍然保留着旧架构的代码,开发者可以通过编译选项选择不启用Aura,这样就很容易将内核升级到Chromium 32;但是这样的内核升级有一些问题,比如Google不保证继续维护非Aura引擎的代码,这样非Aura引擎中的代码的Bug或者漏洞,就不会有人去解决,风险是很大的。

比如在UC浏览器地址栏输入chrome://gpu并回车,所显示的页面中,很多图形优化特性都失效了,这可能就是不启用Aura的损失。这种没有与Google Chrome保持一致的升级方式,是否能算作真正的Chromium 32内核,就仁者见仁、智者见智了。

对于普通Chrome浏览器用户,还有一种最直观区分传统引擎与Aura引擎的方法,是观察页面里的滚动条,传统引擎的页面滚动条是Windows系统样式的,而Aura引擎的滚动条是灰色平面样式的。

Chrome 31/32/34滚动条样式:

查看更多:

为您推荐