加载中…
正文 字体大小:

chromium源码学习笔记(1) -- 学习计划

(2013-01-26 16:29:43)
标签:

chrome

webkit

源码

it

分类: webkit
    对于c++开发者来说,chromium几乎是目前最值得学习的优秀开源代码。先看看chromium包含了多少令人激动的特性:
    1,出身google,代码质量几乎不用怀疑,肯定能让你学到不少东西;
    2,以webkit作为浏览器内核,单就webkit本身的魅力就足够吸引我们了;
    3,基于众多第三方开源库的跨平台的桌面应用程序框架;
    4,基于多进程的程序架构;
    5,闻名的V8 js解析内核;
    6,html5。

    chromium的代码量非常大,要想有效率的学习,需要找个最好的方法,定个计划。先来看看chromium的整体结构和代码组织:Getting Around the Chromium Source Code Directories。chromium设计主要分为三部分:browser,renderer和webkit。代码块主要包括:src/chrome/app(主程序逻辑代码),src/base(common库),src/chrome/browser,src/chrome/renderer,src/chrome/common(browser和renderer的common库),src/webkit等。src源码文件夹下的子文件目录的意义参考上面链接中的说明。
    
    根据以上信息,我们列一下要学习chromium代码的哪些部分:
    1,主程序控制逻辑;
    2,多进程架构,多进程及多线程管理和通信;
    3,消息循环;
    4,UI系统;
    5,web page和tag管理;
    6,js解析,V8内核;
    7,页面渲染;
    8,webkit;
    9,跨平台技术;
    10,第三方库;
    11,浏览器安全及sandbox;
    12,插件系统;
    13,gpu渲染;
    14,自动化测试系统;
    15,crash汇报系统(breakpad);
    16,html5:websocket,media,storage等;
    17,设计模式;
    18,win8特性;
    ...

    怎样制定学习的步骤?这是一个很重要的问题。一个基本思路是,从上至下,从整体到局部,从框架到细节。因此总的计划是分成三个阶段,第一阶段着眼系统全局和框架设计(忽略不重要的部分),主要包括:主程序逻辑、进程线程架构、消息循环、UI、webkit整合、web渲染等;第二阶段着眼感兴趣的关键技术,比如:跨平台,html5,gpu渲染等;第三阶段研究前两阶段中未涉及的部分,从不同的角度进行学习,比如跨平台渲染,内存管理,log系统,http和https封装,设计模式以及更细节的技术点等。

    最后,时间计划。今年工作会很忙,但依然要挤时间坚持,希望第一阶段能尽快完成。
    
    整个系列以笔记的方式总结,希望能沉淀下一些切实的收获。

0

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有