问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

2014 年 7 月前后,浏览器使用 Chromium 35 内核的技术难度很大吗

发布网友 发布时间:2022-05-02 09:10

我来回答

1个回答

热心网友 时间:2023-10-15 07:23

刚问了我们技术童鞋(技术大神,他们的浏览器也突破到了M34),他也觉得这次UC浏览器电脑版团队的确挺牛,也说了一些难点。我转述下吧,有不对的地方,还望大家评论指正。

1. Aura引擎的实现难度比较大

今年1月份的时候,Chrome 32正式发布,但时间已经过了四个月,国内的浏览器厂商还没有跟进的。按照以前的经验,国内浏览器厂商一般都会在30天内跟进到新的内核,但M32这次,确实没有。

说明了一个什么问题?当时cnbeta有一篇文章《为什么众多外壳浏览器的内核都止步在Chromium 32 到底发生了什么》,它就说到了一个原因:

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

Aura引擎会对浏览器厂商的开发有什么影响呢?粗略分析大概有以下几点:
a. 新的桌面窗口结构,需要厂商全部重新调整应用程序顶端架构;
b. 国内厂商大多是双核浏览器,Aura引擎的介入,使得双核在协调上出现障碍;
c. 国内厂商加入太多自制的交互元素,这些交互元素需要针对Aura引擎重新设计开发;

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

显然,在此看来,国内的厂商未能突破Chrome 32,面临的技术难题正是这个Aura引擎。所以,也很容易理解,为什么目前除了UC浏览器,国内大部分浏览器均还处于题主说的处于Chromium 32阶段或以下。

2.很多厂商忽视Chromium的软件架构

内核升级最大的一个弯路在于忽视Chromium的软件架构。同事说,他们曾经也犯过这样的错,结果使得各工程师在修改代码和增加文件时很混乱,程序的可维护性很差。这一痛苦经历让团队深刻地认识到维护清晰的软件架构是多么重要。所以,目前他们整个团队在日常工作中都非常重视这一点,日常工作中对这类问题的敏感度很高。

3.容易“重新发明轮子”

在进行软件功能开发时,工程师很容易一拿到需求就根据自己的理解立马上手开干,以至于做了不少“重新发明轮子”的事。其实,所需实现功能依赖的不少基础模块Chromium项目中已有,在浏览器的开发过程中,应该不断地将“自己发明的轮”子给去除,用Chromium项目中现成的取而代之。

这种做事方法表面上看起来慢了,因为要花时间去学习和研究,但长远看来利大于弊,除了通过该方法能不断加深对Chromium项目的熟悉外,这一方法还有助于内核的快速升级。

4. 软件设计的解耦方法需要巧妙

很多技术团队所采用的解耦方法一是很难规范化,二是很难与Chromium的新内核进行合并。

所以,你的解耦方法除了规范化很简单外,还需要在合并过程中对于各冲突点总是存在一个“明亮的灯塔”,让合并工作更加明了。我们技术童鞋所采用的解耦方法很简单,用一句话总结的话是“无论在Chromium之上是增加、调整或去除功能,我们在代码层面总是做加法”。
(转载)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
不想要淘宝原来的帐号,怎么办,可以注销吗~谢谢了,大神帮忙啊 蓝宝石HD6770显卡求鉴定,GPUZ检测数据如下: 健身60公斤,176身高的人,比较瘦,是不是即便经常锻炼,力气也不一定比胳膊... 农村土地什么情况不予发证?如何解决? 共工治水在前还是怒触不周山在前? 共工触山的故事 有什么类似漂流瓶的软件推荐 漂流瓶软件推荐 保险柜密码怎么改 保险柜密码正确但是打不开怎么办 西安水多少钱一顿 西安哪里可以买自来水 国产浏览器为什么不自主研发内核 中国为什么没有自主开发的浏览器内核? 为什么国产浏览器的内核都不是自己研发的? python中SIP安装问题,新手请教 开发一款浏览器内核需要学习哪些方面的知识 请问做个浏览器容易吗? 中国什么时候才有自己的浏览器内核呀?现在所有的浏览器内核都受国外控制,好多网站进不去呀! 国产浏览器为什么没有内核,开发内核有多难?国产手机浏览器有内核吗? 制作浏览器内核很难吗? QQ号怎样成为情侣号? 怎么建情侣QQ号? QQ有没有情侣号 QQ号码能结为情侣吗? 电热锅老是一个灯坏怎么回事? 我家电火锅的指示灯不亮了怎么回事? 电饭锅灯不亮了维修图 上海奉贤区有铝阳极氧化单位吗?我想求职!! ,电锅灯不亮,怎么拆开换灯 水晶胶可以防水吗? 电饭锅的灯坏了交交我们怎么更换 python pyqt sip安装问题! 为什么一直以来都没有国产浏览器内核? 新人求助64位Python sip安装 树莓派安装pyQT5,求sip-4.19.14.tar.gz文件下载地址? 基于IE的内核的浏览器开发难度大吗? 用什么语言能做? 什么是浏览器内核 win10 怎么安装pyqt4的库 怎样自行开发一个Webkit内核的浏览器 怎样自制锁屏壁纸可以写字的那种 ie浏览器的内核怎么样? 浏览器的内核是由什么语言编写的,绝对无法复制吗 Python里的dtype是什么意思? 开发一个浏览器,webkit内核,C#开发 sip已经在python3.6安装了,怎么安装到2,7 怎么用swig实现在python中继承C++接口类 缴纳增值税怎么做账 增值税怎么做账啊 增值税专用发票金额开多了怎么入账 月末增值税怎么做账 增值税专用发票可不可以跨年入账?