`

WebKit和Chromium功能模块

 
阅读更多

在“WebKit,WebKit2,Chromium和Chrome介绍”中,大致了解了WebKit是一个渲染引擎,Chromium是一个浏览器,它们那么分别包含哪些不同的功能模块?它们是如何划分地?本章节来为大家详细解读一下。

WebKit:

  1. HTML解析:负责HTML语言的解析
  2. CSS解析:负责CSS的解析工作
  3. 图片解码:支持不同编码格式的图片
  4. JavaScript引擎:JavaScript语言的解析引擎,缺省的是JavaScriptCore,但是目前Google 的V8 JavaScript被广泛使用
  5. 正则表达式
  6. 布局:负责布局(layout)的计算和更新工作
  7. 文档对象模型(DOM):DOM是W3C定义的对象模型,该部分负责DOM树及其相应的接口
  8. 渲染:与渲染相关的基础设施,例如渲染树,渲染层次树等等
  9. SVG:对SVG的支持
  10. XML解析:XML语言的解析
  11. XSLT:XSLT语言的解析执行
  12. URL解析器:URL规范的解析
  13. Unicode编解码器:各种编码解码工作
  14. 移植:WebKit中比较大的一部分,因为WebKit要工作需要不同平台上有具体的实现,因而不同的移植有不同的实现。chromium的移植很复杂,因为其支持跨平台,所以它的移植需要在windows,linux和mac上工作。 由上面的模块大致可以WebKit主要是跟网页的解析和渲染相关的工作,其不涉及浏览器的历史,书签,下载,cookie管理等等方面的工作。

Chromium:

  1. Cookie管理器:cookie生命周期的管理
  2. 历史管理器:历史记录的管理
  3. 密码管理器:网页中密码登录信息管理
  4. 窗口管理:多个Tab窗口的管理和切换
  5. 地址栏:地址栏功能,智能地址填充与书签的协同工作
  6. 安全浏览黑名单管理:安全浏览机制
  7. 网络栈:与网络传输相关的工作,其有很多创新的东西
  8. SSL/TLS:网络传输安全
  9. 磁盘缓存:磁盘缓存页面及其替换策略等生命周期的管理
  10. 下载管理器:管理下载相关
  11. 粘帖板:clipboard的功能
  12. 书签管理:书签的组织和管理
  13. URL解析器:同WebKit
  14. Unicode编解码器:同WebKit

     Chromium主要是实现浏览器相关的功能,如上面中的网络栈等等。其实以上只是一些浏览器基本功能,chromium实现的远不止这些,这其中包含沙箱模型,NaCl,扩展机制,硬件加速架构等等。这些我们将在之后的章节中逐一介绍它们。

     URL解析器和Unicode编解码器在两者中都存在是因为它们都要使用到。

分享到:
评论

相关推荐

    WebKit和Chromium源码及原理剖析.pdf

    ### WebKit和Chromium源码及原理剖析 #### 第1篇 Web开发须知的浏览器内幕:缓存与存储篇(2) **3. HTTP Cache综述** - **HTTP Cache概念**: - HTTP缓存机制遵循IETF规范设计,最新的标准文档为[RFC 7234]...

    易语言 webkit Kirinoium2.0 chrome模块

    易语言Webkit Kirinoium2.0 Chrome模块是一款专为易语言用户设计的浏览器内核组件,它基于WebKit和Chrome的Chromium Embedded Framework (CEF)进行开发。WebKit是一种开源的网页渲染引擎,广泛用于Safari、Chrome等...

    node-webkit

    由于 Node-WebKit 基于 Chromium 和 Node.js,它支持 Windows、macOS 和 Linux 等多种操作系统,使得开发者可以编写一次代码,到处运行,大大降低了开发和维护多平台应用的成本。 **总结** Node-WebKit 结合了 ...

    WebKit源代码结构

    尽管如此,WebKit的目录结构却异常清晰,这有助于开发者快速理解其架构和功能模块。本文将详细介绍WebKit源代码的主要目录结构,并对关键组成部分进行深入探讨。 #### 二、一级目录结构 在WebKit源代码的一级目录...

    WEBKIT测试TEST工程

    1. **单元测试**:针对Webkit的各个模块进行独立测试,例如渲染引擎、JavaScript引擎(如V8)和网络栈等,确保每个组件的功能正确性。 2. **集成测试**:模拟真实环境,测试Webkit各组件间的交互,确保整体功能的...

    Webkit介绍

    随着时间的推移,Webkit因其高效和开放的特性吸引了众多开发者,其中包括Google,他们后来基于Webkit开发了Chromium项目,并最终形成了Blink内核,尽管如此,Webkit仍然在许多项目中占据重要地位。 **Webkit的主要...

    C# chromium chromiumFX Google

    1. **模块化设计**:Blink 采用模块化架构,每个模块负责特定的功能,易于维护和扩展。 2. **性能优化**:Blink 不断优化 JavaScript 执行速度和渲染性能,提供流畅的用户体验。 3. **Web 标准支持**:Google 内核...

    火山CEF3浏览器模块

    "src"目录可能包含了源代码文件,这些文件包含了实现CEF3浏览器模块功能的详细逻辑,开发者可以通过查阅源码学习和定制功能。 "CEF3浏览器模块0401.vcip"可能是项目的一个版本或构建包,它可能包含了编译好的库文件...

    Chromium学习之智能指针

    为了确保多线程环境下的安全性,Chromium还提供了一组线程安全的版本,包括 `RefCountedThreadSafeBase`、`RefCountedThreadSafe` 和 `DefaultRefCountedThreadSafeTraits`。这些类同样提供了线程安全的引用计数机制...

    node-webkit v0.16.1

    总结来说,Node-WebKit v0.16.1 是一个结合了 Node.js 和 Chromium 的强大框架,让开发者能够利用 Web 技术开发具有本地功能的桌面应用。通过深入理解这一技术,开发者可以充分利用 JavaScript 生态系统,创建出高效...

    QtWebkit开发的浏览器

    **QtWebkit 开发的浏览器详解...总的来说,基于QtWebkit开发的浏览器结合了C++的强大和WebKit的先进,提供了丰富的功能和良好的用户体验。通过理解和掌握这些知识点,开发者能够构建出符合现代需求的定制化浏览器应用。

    node webkit

    开发Node Webkit应用的过程中,开发者还可以利用npm(Node Package Manager)来管理依赖,这使得复用和分享第三方模块变得简单。此外,Node Webkit还支持热加载,这意味着在开发过程中,开发者可以实时看到代码更改...

    chromium浏览器集成JS扩展指南_4.docx

    ### Chromium浏览器集成JS扩展指南 #### 简介 本文档旨在为开发人员提供一个详细的指导方案,介绍如何在Chromium浏览器...这种方式极大地扩展了Chromium浏览器的功能边界,并为开发人员提供了更多的灵活性和可能性。

    nw node webkit 离线安装包

    这个“nw node webkit 离线安装包”包含了运行nw.js应用程序所需的所有组件,无需在线下载,方便开发者在没有网络连接的环境下进行离线开发和部署。 nw.js的核心原理是将Chromium浏览器引擎与Node.js环境集成在一起...

    node-webkit内建服务器

    **Node-Webkit 内建服务器详解** Node-Webkit 是一个开源项目,它结合了Chromium浏览器和...通过这种方式,开发者不仅可以创建桌面应用,还能在本地提供服务,实现与服务器端的交互,大大增强了应用的功能和灵活性。

    chrome浏览器技术分析文档

    Chrome 浏览器技术分析文档深入探讨了 Chromium 浏览器如何利用 WebKit 渲染引擎和 V8 JavaScript 引擎构建高效的浏览体验。WebKit 是一个开源的网页排版引擎,用于解析 HTML 和 CSS,执行 JavaScript 代码以及绘制...

    Android 浏览器(基于WebKit) 源代码

    WebKit由多个组件组成,包括布局引擎WebCore、JavaScript引擎JavaScriptCore、网络层和多媒体处理模块等。 二、Android与WebKit的结合 在Android系统中,WebKit与Android平台紧密结合,通过WebView组件提供网页浏览...

    Windows基于webkit的MFC_百度搜索

    CEF(Chromium Embedded Framework)是一个开源的框架,用于将Chromium浏览器引擎嵌入到应用程序中,允许开发者构建自定义的浏览器界面和功能。CEF广泛应用于需要在应用内嵌入网页浏览功能的场景,例如QQ中的个人...

Global site tag (gtag.js) - Google Analytics