理解WebKit和Chromium: WebKit和Chromium组成
来源:互联网 发布:ubuntu镜像站 编辑:程序博客网 时间:2024/04/28 22:03
在“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: WebKit和Chromium组成
- 理解WebKit和Chromium: WebKit和Chromium组成
- 理解WebKit和Chromium: WebKit和Chromium组成
- 理解WebKit和Chromium: WebKit和Chromium组成
- 理解WebKit和Chromium: Chromium硬件加速合成
- 理解WebKit和Chromium: Chromium硬件加速合成
- 理解WebKit和Chromium: Chromium软件渲染
- 理解WebKit和Chromium: Chromium for Android
- 理解WebKit和Chromium: Chromium硬件加速合成
- 理解WebKit和Chromium: Chromium网络栈
- 理解WebKit和Chromium: Chromium网络栈
- 理解WebKit和Chromium: WebKit和Blink
- 理解WebKit和Chromium: 前言
- 理解WebKit和Chromium: 前言
- 理解WebKit和Chromium: 前言
- 理解WebKit和Chromium: WebKit渲染基础
- 理解WebKit和Chromium: WebKit渲染基础
- 理解WebKit和Chromium: WebKit布局 (Layout)
- awr报表
- iOS中Block介绍(一)基础
- 字符串移位包含问题
- Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)
- 余额宝一周年:让从未理财的人有了理财意识
- 理解WebKit和Chromium: WebKit和Chromium组成
- 六月,琐事
- Windows下的Objective-C集成开发环境(IDE)(转)
- 苹果新的编程语言 Swift 语言进阶(七)--枚举、结构、类
- Eclipse无辅助技巧和语句提示解决方法
- 版本控制
- 数据库读写锁的实现(C++)
- 世界各地建筑精选
- 使用batch insert解决MySQL的insert吞吐量问题