跳转到内容

Blink

轻之舟百科,让知识轻装启航
云云​(留言 | 贡献)2026年7月10日 (五) 15:14的版本

Blink是由Google主导开发的开源浏览器引擎,作为Chromium项目的一部分[1][2]。该引擎最初是WebKit项目中WebCore组件的一个分支,于2013年4月首次公开发布[3][4]。Blink被广泛应用于Google Chrome、Microsoft Edge、Opera、Brave、Vivaldi、Samsung Internet等众多基于Chromium的浏览器中[1][5]。由于Google Chrome的市场主导地位以及大量Chromium衍生浏览器的存在,Blink是目前使用最为广泛的浏览器引擎[5][6]。

历史

Blink的诞生源于Google在Chromium项目开发过程中对WebKit代码进行的大量修改。Chromium采用与其他WebKit浏览器不同的多进程架构,多年来的架构差异导致WebKit与Chromium项目的复杂性不断增加,减缓了创新速度[3]。2013年4月3日,Google正式宣布从WebKit中分支出Blink渲染引擎[3][7]。其名称的由来有两层含义:一是暗示速度(blink意为“闪烁”),二是指向非标准的HTML blink元素[5]。

分拆之初,Blink团队即删除了超过4.5百万行代码和7个构建系统,以简化代码库[3]。分拆后的首批改动之一便是弃用包括WebKit前缀在内的CSS供应商前缀,实验性功能改为选择加入(opt-in)方式启用[5]。

在分拆之前,从2009年末至2013年,Google是WebKit项目最大的代码贡献者[5]。Blink项目吸引了来自Google、Facebook、Microsoft、Opera Software、Adobe Systems、Intel、IBM、Samsung等多家公司的代码贡献[1][2]。

技术架构

渲染流程

Blink作为渲染引擎,负责将HTML、CSS和JavaScript代码(以及图片和其他资源)转换为用户可查看和交互的网页[8]。其渲染过程包括资源收集、解析、样式计算、布局、绘制和合成等多个阶段[8]。

Blink使用开源的Skia图形引擎与计算机或移动设备的底层图形硬件进行交互,Skia通过OpenGL、Vulkan和DirectX等图形库提供跨平台渲染能力[8]。

JavaScript引擎

Blink内嵌V8 JavaScript引擎,用于解析和执行JavaScript及WebAssembly代码[8][9]。V8根据ECMAScript标准处理JavaScript,开发者可通过V8访问底层浏览器功能,如操作DOM[8]。

多进程架构

Blink采用多进程模型,UI主进程与渲染进程分离运行,每个标签页在单独的渲染进程中运行,以提高稳定性和响应速度[2]。渲染进程包含主线程(处理JavaScript)等多个线程[2]。

Web标准实现

Blink遵循WHATWG和W3C定义的Web标准,包括HTML、CSS和DOM等规范[8]。浏览器功能的接口规范以WebIDL(Web接口定义语言)编写,确保在不同设备和平台之间实现标准化的交互方式[8]。

特性

多进程与安全

Blink通过多进程架构和沙箱机制提升页面渲染效率及安全性[2]。每个渲染进程运行在受限的沙箱环境中,以限制潜在安全漏洞的影响范围。

跨平台支持

Blink作为跨平台渲染引擎,支持Windows、Linux、macOS、Android和ChromeOS等多个操作系统[5][10]。但在iOS平台上,由于Apple的政策限制,所有浏览器必须使用WebKit引擎,因此基于Chromium的浏览器在iOS上无法使用Blink[5][11]。

应用范围

Blink被广泛应用于所有基于Chromium的浏览器,包括但不限于[1][5][2]:

许可协议

Blink采用多重许可协议。Google作者贡献的部分以BSD风格许可证发布,而基于WebCore的组件沿用GNU宽通用公共许可证(LGPL)v2.1[5][10]。

参考文献