Webkit入门准备

《webkit入门准备》

1.      C++

a)        Webkit代码风格

b)        Inline

c)        Const

d)        构造与析构

e)        重载

f)         继承

2.      泛式编程

a)        Vector/List/HashTable

b)        Iterator

c)        智能指针

3.      面向对象编程

a)        对象概念

b)        设计模式

4.      调试、测试及工具

a)        GccMakefile

b)        Trace

c)        VC

d)        Gdb

e)        Alertjavascript调试

f)         GUN binary工具

g)        JsUnit

h)        Javascript框架Dojo

i)          JsDoc

j)          JsLint

k)        HTML Validator

l)          Dom inspector

m)      Xml spy

n)        标准测试用例

5.      性能分析

a)        Gprof

6.      Socket

7.      编译原理

a)        词法

b)        语法

8.      操作系统

a)        Linux线程

b)        Linux 内存

c)        编译与链接

《体系结构详解》

1.      浏览器功能结构

2.      浏览器结构

3.      Webkit体系结构

4.      WebKit目录结构

5.      WebKit编译

HTML引擎详解》

1.      HTML语法

2.      Dom Core

3.      Dom Event

4.      Dom Html

5.      焦点处理

6.      HTML扩展

JS引擎详解》

1.      Javascript语法

2.      JS Binding

3.      JS Interpreter

4.      GarbageCollect

5.      javascript扩展

CSS排版详解》

1.      CSS语法

2.      Dom-CSS

3.      Dom-Style

4.      Paint

5.      CSS风格扩展

CURLSSL详解》

1.      Loader

2.      Curl

3.      HTTP

4.      SSL

XML引擎详解》

1.      XML

2.      Ajax

TCMalloc内存管理机制》

1.      内存池

2.      TcMalloc

《其它》

1.      WebKit外壳封装

2.      Plugin插件机制

3.      Pcre正则表达式函数库

4.      WTF C++模板库
WebKit简介

WebKit是一个开源的Web浏览器的引擎,而不是一个完整的浏览器。
Apple的Safari是基于WebKit上开发的浏览器,但Apple并没有开放它的代码。
WebKit的原形是KDE的KHTML和KJS。
官方网站:http://webkit.org
 

支持功能:

HTML4.0/5.0
CSS1&2
Dom1&2
ECMA262
JS1-6
HTTP/FILE
GIF/JPEG/PNG
XML
SSL3
JVM
FTP
SVG可缩放矢量图形(Scalable Vector Graphics) 
RSS2.0(RDF Site Summary )

MathML

 

一般我们在PC下不会考虑开发浏览器,但在嵌入式领域可能就有这可能了。

浏览器的选型:

1。Geocko 功能强,但太庞大

2。Opera  功能强,但要钱

3。Ipanel  功能一般,也要钱

4。Ants 功能一般,还是要钱

5。WebKit 功能强,不要钱,呵呵就这个(有nokia,apple,google为例), 它属于 LGPL and BSD licenses.,


Webkit之Webkit
 
nWebView 是webkit最核心的一个view,WebView管理WebFrameView和WebFrame之间的交互,一个WebView对象绑定一个window,并且要求MainFrame加载url,一个WebPage对应一个Window. 
  
WebView
n它对应的是根window。 
n它负责处理外部所有消息,并转发给相关模块。 
n它负责mainFrame和历史记录的管理工作。 
n¨  
WebFrame
  
nFrame的管理者 
n负责资源加载和反馈处理 
¨临时数据资源(provisional data source)和确认数据资源(Committed Data Sources) 
¨WebKit提交请求是异步响应的。在发送请求到收到数据的过程,Webkit会创建一个临时数据资源(provisional data source),这个资源并不知道是否能正确接收数据,所以是临时的。当这个临时数据资源变成有效时,WebFrame才会有真正的数据资源。开始WebFrame并没有数据资源(data source),只有一个空白页显示。 
¨WebFrame收到第一个字节数据,Data Source就变确认数据资源(Committed Data Sources) 
¨了。如果临时数据资源(provisional data source)有错误,就不会变成确认数据资源(Committed Data Sources)。 
¨当数据资源变成确认的(committed)状态,WebFrame将创建相应的document representation 和document view 。

浏览器的分层结构

 

 

 

n 浏览器 系统结构图分为四层
n 第一层为 业务应用层,用户可在 webkit 基础上构建各种应用。
n 第二层为 插件及第三方库。
n 第三层为 webkit 平台 Porting 所需的接口层。
n 最底层为平台和操作系统支持层,提供 webkit 平台所需的软硬件资源。

浏览器功能结构


现代浏览器体系结构

 

Webkit结构

n WebKit 上层组织应用
n WebCore
¨ Page 与外框相关的内容 (Frame,Page,History,Focus,Window)
¨ Loader 加载资源及 Cache
¨ HTML-DOM HTML 内容及解析
¨ DOM- DOM CORE 内容
¨ XML- XML 内容及解析
¨ Render- 排版功能
¨ CSS-DOM CSS 内容
¨ Binding-DOM JavascriptCore 绑定的功能
¨ Editing- 所有与编辑相关的功能
n JavascriptCore-javascript 引擎
¨ API- 基本 javascript 功能
¨ Binding 与其它功能绑定的功能 , :DOM,C,JNI
¨ DerviedSource 自动产生的代码
¨ ForwordHeads 头文件 , 无实际意义
¨ PCRE-Perl-Compatible Regular Expressions  ( 正则表达式函数库( Perl  兼容) )
¨ KJS-Javascript Kernel
¨ WTF-KDE C++ 模板库
n Unicode-qt unicode 
n GToolsMalloc-Google TCMalloc
n CURL-url  客户端传输库
n PlatForm-  与平台相关的功能 , 如图形图像 , 字体 ,Unicode, IO, 输入法等 .
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值