Skip to content
本页目录

浏览器的发展史

历史阶段

浏览器时间内核所属公司说明
Mosaic1993--1997 年结束,其核心成员创建了网景
Navigator1994-网景昔日霸主,1998 年结束,Firefox的前身
IE1995Trident微软凭借捆绑操作系统击败网景
Opera1996Presto/BlinkOpera Software后期与chrome合作研发了Blink
Mozilla1998Gecko网景2003 年结束,并成立基金会
Firefox2003GeckoMozilla基金会主要靠 Google 资金存活,曾经主流过
Safari2003WebKit苹果
Chrome2008Chromium/Blink谷歌早期WebKit内核,受限于苹果,今日霸主
Edge2015Chromium微软偷家chrome,照搬chrome基础上扩展优化
  • 浏览器的发展史相当复杂的,这里只是做个简单的总结;
  • 浏览器内核一般由 JS 引擎、排版渲染引擎与其它三部分组成;
  • 熟知的 JS 引擎有 chromeV8,IE9开始的查克拉(Chakra);
  • IE6 的兼容问题不能完全归罪于微软,它走在了标准的前面,只是后期一家独大,没去兼容标准;
  • Chrome 2008年发布时的渲染内核为fork自Webkit优化后的 Chromium,并于2013年更换为 Blink 引擎;
  • Opera 2013年开始舍弃旧的 Presto 引擎,更换为与谷歌共同研发的 Blink 引擎;

浏览器线程

浏览器内核是多线程的,通常有以下几个线程组成:

  • GUI 渲染线程 负责渲染浏览器界面,解析 HTMLCSS,生成 DOM树CSS规则树,合并生成 Render 树,布局和绘制,以及后续界面的重绘与回流等。

  • JS 引擎线程 JS 内核,如 V8 引擎,负责解析 js 脚本并执行。

  • 事件触发线程 是浏览器的功能,

  • 定时器触发线程

  • xhr 线程

注意:GUI 渲染线程与 JS 引擎线程是互斥的。

我们常说的 JS 是单线程的,是指 JS 引擎线程