分享

chrome源码解析系列:前序

 quasiceo 2013-01-29

chrome源码解析系列:前序

分类: chrome研究 2943人阅读 评论(0) 收藏 举报

目录(?)[+]

 前序

研究目的

研究chrome有一下目的:

1:学习其程序构架,一个优秀的软件的构架必然很精美。

2:其中有些代码可以借鉴,供以后使用。

3:可以定制自己的浏览器。

源代码

chrome 的总体框架它的官方资料上面提及一些,

但是不够详细,

更多信息得通过它的代码来理解。

 

程序有以下这些模块:

1chrome主程序:浏览器的UI,渲染,COOKIE,用户配置等功能

2WEBKIT:苹果的页面的W3C

3V8:负责JS解析

4: SKIA 适量图形处理工具。

 

在下载完chrome源码我感慨万千,

靠! 1G多的代码什么概念,

仔细看了源码,发现 WEBKIT 600M,其他开源代码加起来快200M

又靠,chrome的代码也就200M左右。

心理的恐惧减轻了,对于200M的代码没什么害怕的!

其实研究源码,可怕的不在于代码的数量,

而在于要能理解程序的组织,结构,大纲,模块。

编译chrome

关于怎样编译网上有N多介绍的文章,这里就不再重复了。

 

附带提一点:源码不要放在中文路径下,还有路径中不能有空格

上次就因为这两个个问题浪费了我三个小时。

研究入口在哪里?

对于小小的200M代码,

怎么找到突破口呢,

先不慌,

弄清楚程序结构再下手。

关于 WEBKIT,V8,SKIA目前没有时间研究,

所以先放到一边去。

 

关于chrome的主程序,目前我认为有一下可以值得研究探讨的地方:

1chorme系统

1chrome的消息系统,这个巨大的消息网络是怎么组织的,网络消息,用户消息,UI消息是怎么来?怎么去的?有谁掌管这些消息?

渲染引擎的消息是怎么产生的,怎么发送到UI的,UI怎么处理的?

2WINDOWS窗口系统设计

3chrome进程通讯系统是怎么显示的?

4chrome的线程通讯系统,线程之间是怎么同步的?是怎么样异步的?它的线程系统复用性能怎样?

5chrome 所采用了那些设计模式?

6:   chrome渲染引擎是怎么实现的,渲染进程说渲染的数据是怎么在另外一个窗口进程里面显示出来的?

7:它是怎么支持调试程序的,怎么处理调试信息的?

8UI,RenderWEBKIT是怎么组织起来的?

9:怎么实现跨平台的?

2SKIA矢量系统

....<待补充>

3 WEBKIT系统

....<待补充>

4V8系统

....<待补充>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多