webkit介绍



现在基于WebKit的浏览器已经无处不在了,恐怕除了微软的IE以及Mozilla的Firefox,其他浏览器已经全被WebKit给占据了。

那WebKit到底是什么呢?要回答这个问题,首先让我们来看一下什么是浏览器是:

·      浏览器是一多媒体程序,它能够查看视频、图片以及播放音乐,所以它需要支持各种视频、图片和音频的解码。

·      浏览器是一个图形程序,它需要对字体和图形进行渲染。

·      浏览器是一个网络程序,它需要支持HTTP,FTP等各种网络协议。

·      浏览器是一个翻译程序,它需要把HTML,CSS,Javascript等翻译成形象的可互动的网页。

·      浏览器是一个关键程序,所以它需要各种硬件加速。

浏览器是一个多面手,他需要平台提供各种各样的服务如多媒体解码、渲染、网络支持、硬件加速等等。

下面看看WebKit的结构:


可以看到WebKit好像一个三明治:

·      上层,WekKitEmbedding API,给图形界面提供服务的接口。

·      中间层,WebCore实现了对HTML和CSS的解析,相应DOM的生成,以及网页元素在屏幕上的布局。JSCore顾名思义是一个Javascript的解析器。

·      下层,PlatformAPI,告诉底层平台WebKit需要什么样的服务。

其实,上面的这个图中,除了WebCore其他都是可以替换的;)

可以看出来,光有WebKit是完成不了一个浏览器的,还需要图形界面和底层平台。此外还有一个概念叫WebKitPort。就像药品里面有中成药一样,WebKit浏览器也有中成品,即WebKitPort。所谓WebKit

 Port就是WebKit加上已经实现了的一套完整或者不完整的图形界面和底层平台套装。拿Chromium来说,它本身一个完整的浏览器,而360浏览器是基于Chromium这个WebKit Port实现的浏览器。




复杂一点的应用程序,通常由多个页面组成,页面与页面之间的衔接,称为工作流程。应用程序的更新,不仅涉及每个页面的内容的更改,而且也涉及工作流程的变更。

WebKit 这样的Rendering Engine,不仅提供了单个页面的渲染,而且也提供了历史页面的缓存,支持后退(Back),前进(Forward)以及历史(History)等等功能。同时,WebKit能够记忆用户对于每个页面做过哪些修改,甚至提供恢复(Undo)功能。


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值