「这是我参与2022首次更文挑战的第16天,活动详情查看:2022首次更文挑战」。
WebKit介绍
WebKit项目来源于开元项目KHTML
1998年苹果公司参与了由KDE开源社区发布的KHTML项目,但是很快苹果公司发现KHTML的开发者们不喜欢接受很多苹果工程师们提交的代码,因为每次提交的代码都很庞大且没有合适的文档以及注释来描述,基于KHTML苹果公司很快创建了自己的心得项目WebKit。
WebKit有很多的移植,历史总是惊人的相似,2013年,Google宣布了从WebKit赋值出来并独立运行的心框,Blink
WebKit项目结构
当我们讲述WebKit的时候,分为两个含义,广义WebKit和狭义WebKit
广义WebKit指WebKit项目
我们来看看一个完整的WebKit项目的结构
WebKit项目自开源起就十分的结构清晰、易于维护,收到了广大浏览器群体以及Web平台厂商们的喜爱,由于需求不同,操作系统的开发者需要WebKit设计和定义一套灵活的框架结构,不同的厂商们可以基于这套框架结构,完成自身所需要的依赖模块的实现,我们也称之为WebKit移植(Port)。
由于WebKit这种简单灵活和便于引入新移植的特性,使其迅速成为最受欢迎的 渲染引擎。
WebKit和WebKit2
这部分WebKit指的是接口部分的WebKit
WebKit2是一套支持新架构的全新绑定层和借口层。在chromium项目中,为了网页浏览器的安全性和稳定性原因引入了跨进程的架构。
可以看出,至少有两部分进程,UI进程和Web进程
Blink
WebKit有很多移植,每个移植的实现也都各不相同,每个移植的各自对HTML的规范支持也不太相同,尽管都是WebKit,但是对于兼容性来说依然有很大的挑战。并且WebKit也在分裂,下面将会介绍Chromium的新内核。
google独立出来的WebKit项目叫做Blink,这个项目的出现是由于Google希望在Blink中加入很多的新技术,比如
1、跨进程ifram,为ifram创建一个独立的沙箱进程
2、重新整理WebKit关于网络反面的架构和接口
3、还有一个大胆的想法就是将DOM树引入JavaScript引擎。从而带来性能极大提升。
4、针对各技术的性能优化,包括但不限于图形、Javascript引擎、内存使用、编译的二进制文件大小等。
ending,相关浏览器内核的发展历程就介绍到此,欢迎各位大佬评论区指导~~