
最近,挪威出版物Digi.no发布了有关Vivaldi浏览器开发人员如何使用Chromium代码的故事。 在公司三位主要专家的首次采访中,公开谈论了Vivaldi浏览器开发过程中的这一重要组成部分。
公司的三名员工参加了挪威出版物Ingve Pettersen,Jalle Antsen和Andre Schulz的采访。 他们讨论了如何整合Vivaldi浏览器代码和浏览器中使用的Chromium内核的工作-讨论了这种方法的优缺点,以及出现了什么问题以及如何解决这些问题。
下面是最有趣的问题和答案的俄语翻译。
(从左至右顺时针方向)来自Digi.no的Harald Brombach,Jalle Antonsen,Ingve Pettersen和Andre Schulz。
是Chromium内核代码更新量大,更新频率短的问题吗?
Yngwe Pettersen(首席工程师) :Chromium的新版本每六周发布一次,我们需要将自己的Vivaldi代码与该内核的代码集成在一起。 我从事此任务,负责浏览器代码库。 而且-是的,这是一项相当复杂且耗时的工作,需要数周的时间。
这项工作有什么进展吗?
Jarle Antensen(项目经理) :以前,集成过程花了三到四个星期,但Vivaldi开发人员设法在不到两周的时间内集成了最后两个版本的Chromium(68和69)。 主要问题是回归-当我们的代码停止使用Chromium代码时,正是他们的纠正才花费了很多时间。
Chromium社区的工作进展如何?
Andre Schulz(UI开发人员) :令我们高兴的是,它非常高效。 我不断向各种模块的开发人员发送问题,并获得相当详细的答案,有时甚至给出有关如何使模块更好地工作的建议。
您对铬的开发有贡献吗?
Yngwe Pettersen :在过去的六个月中,我们已经发送了12个Chromium代码补丁。 这些主要是清理代码的建议,但也有一些错误修复。 目前,我们正在准备更多补丁,以发送给Chromium开发人员。
Jarle Antonsen,Ingve Pettersen和Andre Schulz。代码集成过程有多复杂和漫长?
Ingve Pettersen :在下一个Chromium更新发布之后,我创建了一个新的单独分支并开始使用它。 我提取Chromium代码并同步我们使用的所有子模块,同时进行一些小的更改。 该过程的这一部分与我们的自动化程度相当高。
然后,我们将所有更新复制到Chromium代码库的顶部。 自从开始有很多手工作品 我们得到了很多回归和代码合并冲突。 过去这一直很成问题,但是随着时间的流逝,我们很好地清除了导致冲突的元素中的代码,如今一切都变得更加简单了。 例如,在上一次更新期间,我们对大约900个文件进行了更改,仅80个文件需要手动代码编辑。 我花了大约五到六个小时来做到这一点-过去至少要花一个星期。
合并代码后,您需要为各种平台(Windows,Linux和Mac)编译浏览器代码。 通常,这需要一天甚至几个小时。 通常,今天的代码合并过程需要两到三天。
如何识别新问题?
Ingve Pettersen :实际上,在集成代码的过程中,已经出现了错误,为进行更正,必须对Vivaldi模块的代码进行更改。 这可能会花费一些时间。
然后,Andre,Jarle和其他开发人员开始修复发现的问题,以及在测试Vivaldi浏览器期间已经发现的新问题。
这个过程有多复杂?
安德烈·舒尔茨(Andre Schulz) :是的,铬的更改是我们工作中最困难的。 几次,我们关闭了某些功能的标志,并与Chromium功能并行工作,这些功能实际上已从下一个内核版本中删除。 这给我们带来了很多问题。 最困难的情况发生在升级到Chromium 64内核的过程中,我们花了很多时间来修复它,这影响了新版Vivaldi浏览器的发行速度下降。
Yngwe Pettersen :在解决了新内核集成过程中出现的问题之后,我们将继续进行故障排除,直到获得足够稳定的版本以作为最终产品发布为止。
向浏览器添加新功能的情况如何?
Yngwe Pettersen :是的,我们不会停止开发新功能,因此主要的Vivaldi代码正在不断更改和测试。 每当一名开发人员向代码添加更改时,都会自动创建一个新程序集。 这些程序集首先由Sopranos的公司和第三方测试人员进行主动测试,然后由浏览器的公共测试程序集的用户进行主动测试,最后由质量检查部门决定我们是否准备发布最终版本。
Vivaldi目前雇用约20名开发人员。 我不知道确切地有多少开发人员参与了Chromium的开发,但是当然还有比我们更多的开发人员。 您可以尝试比较两个团队最近在代码中所做的更改数量。
五年来,我们对核心代码进行了17,000多次更改。 在过去的一年中,我们进行了2700多次更改。 为了进行比较,在Chromium 67和68之间,对Chromium代码进行了大约12,000项更改,而在68和69版本之间,此数字已经进行了大约15,000次更改。 换句话说,Chromium开发团队在几天内进行了与一年中的代码一样多的更改。 因此,我估计活跃的Chromium开发人员大约为600人。
Jarle Antensen :通常,从构思到实现新功能需要花费一些时间。 在小型团队中,避免过度的官僚主义比较容易。 同时,几乎所有团队成员都积极参与测试新功能,包括公司总监Jon von Techner。 而且,当然,添加新功能的过程非常依赖于用户的请求-他们的建议和反馈对于我们的工作至关重要。
(从左至右顺时针方向)Jarle Antonsen,Ingve Pettersen,Andre Schulz和Harald Brombach。原始文章