zoukankan      html  css  js  c++  java
  • chromium ③

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

     
     
        对于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封装,设计模式以及更细节的技术点等。
     
        最后,时间计划。今年工作会很忙,但依然要挤时间坚持,希望第一阶段能尽快完成。
        
        整个系列以笔记的方式总结,希望能沉淀下一些切实的收获。
  • 相关阅读:
    DroidParts 中文系列教程(基于官方教程)
    IDEA添加其他项目为库文件的方法
    IDEA 部署项目的时候出错:Jar not loaded错误
    解决IDEA导入Myclipse项目的时候没有识别为Web项目的问题
    IDEA中安装及配置SVN
    VirtualBox下设置 XP虚拟机桥接模式
    主机上设置共享文件夹供虚拟机访问
    JS的splice()方法在for循环中使用可能会遇到的坑
    Eclipse优化
    State Design Pattern
  • 原文地址:https://www.cnblogs.com/dhsz/p/9252722.html
Copyright © 2011-2022 走看看