注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

写着玩

Bob

 
 
 

日志

 
 
 
 

chrome源码解析系列:前序  

2009-12-01 16:16:46|  分类: Chrome |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

前序
研究目的
研究chrome有一下目的:

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

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

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

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

但是不够详细,

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

 

程序有以下这些模块:

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

2:WEBKIT:苹果的页面的W3C

3:V8:负责JS解析

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

 

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

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

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

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

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

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

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

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

 

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

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

研究入口在哪里?
对于小小的200M代码,

怎么找到突破口呢,

先不慌,

弄清楚程序结构再下手。

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

所以先放到一边去。

 

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

(1)chorme系统

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

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

2:WINDOWS窗口系统设计

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

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

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

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

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

8:UI,Render,WEBKIT是怎么组织起来的?

9:怎么实现跨平台的?

(2)SKIA矢量系统

....<待补充>

(3) WEBKIT系统

....<待补充>

(4)V8系统

....<待补充>

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bzero1982/archive/2008/10/09/3044245.aspx

  评论这张
 
阅读(953)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017