您的位置:首页 > 其它

webkit基础

2016-02-03 11:43 169 查看
一、定义:
    一种开源的浏览器引擎;

二、现代浏览器的组件:

HTML、XML、CSS、JavsScript解析器

Layout

文字和图形渲染

图像解码

GPU交互

网络访问

硬件加速
    这里面哪些是WebKit浏览器共享的?差不多只有前两个。其他部分每个WebKit都有各自的实现

二、webkit port是什么?

    WebKit提供了像这张图(见链接)这样的标准架构和WebCore这样的核心库,但灰色的其他部分都是要根据各自平台的不同而进行替换和移植,也就是谈及很多的port,这里谈的平台就是各自设备的运行环境,比如mac
os x,Android和IOS,因此虽然咱是用WebKit,但可以做的事情还有很多,WebKit只是提供了流程和框架,里面有很多洞需要咱自己去填补的。比如,我现在做的远程调试功能,在WebKit里面已在流程上支持,但具体实现上是需要port的,也就导致了只有chrome for android和safari for IOS支持远程调试。

三、每个WebKit port有哪些共同之处

DOM、winow、document

CSS对象模型

CSS解析,键盘事件处理

HTML解析和DOM构建

所有的布局和定位

Chrome开发工具和WebKit检查器的UI与检查器

contenteditable、pushState、文件API、大多数SVG、CSS Transform math、Web Audio API、localStorage等功能

四、什么是WebKit port们并没有共享的:

GPU相关技术

3D转换

WebGL

视频解码

将2D图像绘制到屏幕

解析方式

SVG和CSS渐变绘制

文字绘制和断字

网络层(SPDY、预渲染、WebSocket传输)

JavaScript引擎

JavaScriptCore 在WebKit repo中。V8和JavaScriptCore被绑定在WebKit中。

表单控制器的渲染

<video>和<audio>的元素表现和解码实现

图像解码

页面导航 前进/后退

pushState()的导航部分

SSL功能,比如Strict Transport Security和Public Key Pins
五、 DirectFB是一个专门针对Linux图形库设计的图形加速中间层。它的上层直接面向图形库比如QT,提供如显示、画图、输入设备控制等服务,他的下层直接面向GFX加速硬件,要求硬件驱动实现全部或部分预定的画图函数。详见:http://blog.csdn.net/yinjiabin/article/details/7674053



六、交叉编译webkit(基于GTK和DFB)
http://blog.sina.com.cn/s/blog_707063840100ls0c.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: