WebKit 技术内幕之浏览器与WebKit内核

微信公众号:爱写bugger的阿拉斯加
若有问题或建议,请后台留言,我会尽力解决你的问题。

前言

此文章是我最近在看的【WebKit 技术内幕】一书的一些理解和作的笔记。
而【WebKit 技术内幕】是基于 WebKit 的 Chromium 项目的讲解。css

第一章 浏览器和浏览器内核

WebKit 内核是苹果2005年先开发并提出开源的,后面 Google 也以此为基础,并独立开发出 Chromium 的,2008年 Google 为 WebKit 为内核建立了一个新项目 chormium ,后来 Google 的 chrom 占领了浏览器的大部分市场。
WebKit
图 1-6 显示的是该项目的大模块。图中“WebKit 嵌入式接口”就是批的狭义 WebKit,它批的是在 WebCore(包含上面提到的 HTML 解释器、CSS 解释器和布局等模块)和 JavaScript 引擎之上的一层绑定和嵌入式编程接口,能够被浏览器调用。html

WebKit2.png

Chromium 内核 Blink

2013年4月 gogle宣布从 WebKit中复制一份出来而后独立,并运做为Blink项目。vue

第二章 HTML网页与结构

1. 基本组成 html 、css、js。

2. html5新特性 video、canvas、2d、3d等,2012年就推出。

3. 框结构: iframe、frame、frameset,用于嵌入html文档。

iframe.png
image.png

上面的图说的是 iframe 的应用html5

4. 层次结构

理解层次结构很是重要,由于它能够帮忙你理解 WebKit 如何构建它来渲染,这有助于写高效的 HTML 代码。java

网页的层次结构是指网页中的元素可能分布在不周的层次中,也就是说某些元素能够不一样于它的父元素所在的层次,由于某些缘由, WebKit 须要为该元素和它的子女创建一个新层。react

image.png

图中各层的先后关系。“ 根层 ” 在最后面,“ 层 3 ”和 “层 4 ” 在最前面。规律是须要复杂变换和处理的元素,它们须要新层,因此 WebKit 为它们构建新层实际上是为了渲染引擎在处理上的方便和高效。对于不一样的基于 WebKit 的浏览器,分层策略也有可能不同,一般是有一些基本原则的,好比 video 、2d、3d 转换、canvas 等。程序员

5. WebKit网页内核的渲染过程

渲染过程.png

从网页 URL 到构建 DOM 树

img.png

从 CSS 和 DOM 树到绘图上下文.png

从绘图上下文到最终的图像.png

绘图过程说明.png

6. 编写高效代码注意点

编写高效代码注意点

最后

但愿本文对你有点帮助。web

下期分享 第三章 WebKit 架构与模块 敬请期待。编程

我不是大神,也不是什么牛人,写这个号的目的是为了记录我自学 web全栈 的笔记。canvas

有兴趣的朋友能够扫下方二维码公众号—— 爱写bugger的阿拉斯加

分享 web 开发相关的技术文章,热点资源,全栈程序员的成长之路

和你们一块儿交流成长。

只要关注公众号并回复 福利 便送你六套、而且每套价值 3999 元的视频资源: Python、Java、Linux、Go、vue、react、javaScript

爱写bugger的阿拉斯加

相关文章
相关标签/搜索