自己研究 Chromium 的代码(主要是 Android WebView 这个平台的代码),也有相当长的一段时间了,在这里把自己的一些感想记录下来,如果对他人有所帮助,也算是有些益处。
在研究过程中最大的感受,Chromium 非常重视架构的合理性和灵活性,每一个模块内聚性,独立性,还有接口和实现的分离都做的很好,对外的接口十分清晰,包括供外部调用的接口,需要外部提供实现的抽象接口(XXXClient,XXXDelegate),让外部可以获得事件通知的接口(XXXObserver)等等。总的来说,在几个重要的非功能性目标里面,Chromium 给我的感觉它们排列的优先级是这样的:
- 架构的合理性和灵活性
- 安全性
- 性能
- 资源占用(CPU/GPU/内存)