【热门话题】WebKit架构简介

日期:2024-04-12  作者:小天  来源:www.txunda.com  人气:38

一、引言 

WebKit是当今世界上最受欢迎的一种开放源码浏览器,它以其高效、稳定、跨平台的特点,为许多著名的软件如苹果 Safari、谷歌 Chrome (较早版本)、亚马逊 Kindle等提供了核心的绘制支持。通过对 Webkit的深入了解,可以帮助开发人员更好的了解 Web工具的工作机制,并为其提供更好的服务。通过对 WebKit的主要组成部分、关键技术以及工作机理的系统分析,建立一个完整的 WebKit体系结构图。

如果您需要相关服务,可以找天津天迅达科技有限公司,我们的业务有Web开发、iOS APP、Android APP、微信开发、HTML5开发等,天迅达——您身边的App个性化定制专家!

二、WebKit概览

 1.产生和发展 WebKit起源于 KDE计划中的 KHTML浏览器引擎,在2001年由苹果公司采用,后来逐渐演变成了 Safari浏览器的内核。之后, WebKit以其优异的性能、开源等优点,吸引了大量的厂商和开发商加盟,并在手机浏览器领域占据了绝对的统治地位。虽然谷歌随后推出了以 WebKit为基础的 Chromium计划(使用 Blink引擎),但是 WebKit仍然占据着台式机和嵌入式系统的主导地位。 

2.模块化设计 WebKit在结构上采取了一种高度模块化的体系结构,使得各个模块之间的分工更加清晰,这对于独立的开发和维护都是非常有利的。该单元由以下单元组成: WebCore:主要负责网页的解析,呈现,脚本的执行和网络通讯。 JavaScriptCore(JSC):内建在 WebKit上的 JavaScript引擎,用于处理 web页面上的 JS脚本。 User Agent(UA):提供浏览器标识、用户接口和专用平台调整等功能。 Network:处理 HTTP, HTTPS等网络请求,实现缓存管理,数据压缩。 WebKit2 (Multi-processing Architecture):为了增强系统的稳定性和安全性,WebKit2采用多处理结构,将用户界面和呈现逻辑分开,形成一个独立的处理过程。

 三、WebCore解析 

1. DOM和 CSSOM DOM(Document Object Model)是一个 HTML文件的存储代表,它被用来分析,遍历和操纵 Web页面的元素。WebCore通过 HTML解析器(HTMLTokenizer、HTMLParser等)把 HTML文字转换成 DOM树形结构。CSS分析器完成了 CSS样式表到 CSSOM (CSS Object Model)的转换,并和 DOM一起构成了一个渲染树。

 2. Render Tree与布局 Render Tree是由视觉要素(包含在 CSSOM规则下的 DOM节点和风格信息)构成的,用来描述网页的视觉渲染。在生成树建立之后, WebCore会进行布局(Layout),通过计算各结点的位置、尺寸等几何特性,保证各结点之间的准确位置。 

3. 制图和综合 绘画(画图),网络核心把渲染树转化成真实的象素并在画面上画出来。同时,新一代的 WebKit也采用了综合技术,对复杂的网页进行分层分割,利用硬件加速的方式来达到高效绘制的目的。图层之间的层次关系,透明度,转换等属性都是通过图层树进行描述和管理的。 

4. JavaScriptCore JavaScriptCore(JSC)是基于 ECMAScript规范的、内嵌在 WebKit中的高性能 JavaScript引擎。它的主要内容是: 语法分析器:把 JS代码转换成一个抽象句法树状结构。 解释器(LLInt):执行简单的,未经优化的 JS代码. 实时编译(FTL, DFG):通过对热门代码的优化编译,产生机器代码,提高运行效率。 记忆体收集:使用精准的标签清理算法来进行记忆体的管理。 JSC同时也提供了大量的 API (例如 WebAssembly, WebGL, WebCrypto等)来支持现代 Web应用程序的开发。 

四、WebKit2和多处理器体系结构 WebKit2介绍了一个多处理体系结构,它把浏览器分成如下几个主要过程: 用户界面处理:负责用户交互,窗口管理,网络请求启动等。 Web进程:主要负责对 Web内容进行解析,渲染,脚本执行等工作。 进程(例如 GPU进程,服务工作者进程等):执行具体的任务来提高性能或者实施新的功能。 本项目的研究目标是提高浏览器的稳定性(单一页的崩溃对整个浏览器的影响不大),安全(对不同的网页和系统的资源进行严格的隔离)和快速(利用进程之间的通讯和数据同步机制来完成异步的加载和绘制)。 

五、结语 WebKit是一个功能强大的浏览器引擎,其体系结构在性能、安全性和扩展性上都得到了充分的考虑。从 HTML的解析,到 CSS的渲染,再到多处理的体系结构,每个步骤都包含了仔细的设计和优化。了解 WebKit的工作机制和内部架构,有助于开发人员更好的解决 Web应用中出现的问题,同时也为加入 WebKit社区,促进 Web技术的进步奠定良好的基础。 总结:天津天迅达科技有限公司从业多年,积累丰富项目经验,能帮助您做出您想要的产品。

以上所有设计图和部分文字均来自网络,如有侵权,请call我删除,感谢~

天津天迅达科技有限公司经过多年来对APP小程序、以及网站建设的探索,已经帮助每一个客户快速开发出属于自己的APP小程序网站,是万千企业之选。

标签:天迅达科技 天津APP开发 天津网站建设 网站建设