专栏首页算法与编程之美深入理解浏览器内核 - 浏览器内核依赖关系

深入理解浏览器内核 - 浏览器内核依赖关系

前面为大家介绍了目前主流的浏览器内核以及各自诞生的时间轴,接下来将为大家进一步介绍这些内核的相关知识。

图1- 1浏览器内核fork关系

上图清晰的展示了目前浏览器内核的fork关系,现如今浏览器内核呈现四分天下,分别是Google公司主导的Blink内核,Apple公司主导的WebKit内核,微软公司主导的EdgeHtml内核以及老牌的Mozilla公司主导的Gecko,由于受Chrome浏览器市场占有率的关系,Blink内核将在未来拥有更大的市场空间。

2008年9月谷歌发布了第一个支持Windows的Chrome浏览器,随后发布了支持Linux、macOS、iOS和Android版本。自第一个发布版本开始,一直到Version27,Chrome浏览器的内核都是WebKit内核,从Version28开始切换到Blink内核。

Blink内核诞生于2013年4月,属于年轻的内核,至今才五年多的时间。目前采用其内核的主流浏览器有Chrome(v28+)、Opera(v15+)、Vivaldi、AmazonSilk等。Blink内核是WebKit内核中的WebCore组件的一个分支,即在WebCore的基础上进行二次开发的,增加了一些新的功能和特色。

WebKit内核由WebCore和JavaScriptCore组成,其中WebCore是在KHTML的基础上演变而来,JavaScriptCore是fork自KJS,而KHTML和KJS都是由大名鼎鼎的KDE社区开发。

KDE(K DesktopEnvironmnet)是一个全球最大的自由软件开发社区,主要用来开发自由和开源软件。由MatthiasEttrich于1996年创办,其知名的产品有Plasma桌面系统、KDE Framework以及众多运行在类Unix、微软Windows和Android的跨平台程序。其代码主要托管在github上,地址为https://github.com/KDE。KDE出品的大部分软件都是用C++开发的,对桌面软件的贡献非常大,尤其是浏览器内核。现在被大家广泛熟知的WebKit内核的核心组件就是基于KDE的KHTML和KJS组件演化而来。

本文分享自微信公众号 - 算法与编程之美(algo_coding),作者:gongsuochen

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 深入理解浏览器内核 - 浏览器内核介绍

    浏览器是万维网的入口,是获得信息资源的工具,因此各大厂商都在争夺浏览器的市场。本文将为大家介绍目前的浏览器市场状况及其各自使用的内核。

    算法与编程之美
  • 前端|利用CSS制作动画效果

    大家是否觉得上面这个图形需要用到的代码会很复杂?其实不然,我们利用简单的css即可达到此种效果。

    算法与编程之美
  • Python|小朋友崇拜圈

    确定一个头一直崇拜下去,看崇拜链里是否有头。(应为最大崇拜数最多就是小朋友个数所以循环最大数就小朋友数+1)如果有就跳出循环并记录崇拜链长度存入列表。每个小朋友...

    算法与编程之美
  • 赵晨雨: 从微观角度来看linux内核设计

    最近总结出来学习内核有两个大的角度,一种就是从宏观角度来看,总的来说就是顺着抽象,管理,操作来看,这种角度更多的是内核中应用层面的内容,用来理解内核中是怎么运转...

    Linux阅码场
  • 赵晨雨:从文件系统的数据结构看Linux内核设计

    赵晨雨:西安邮电大学2018级陈莉君教授研究生,天真无邪小白一枚,已经爱上linux内核而不能自拔,正在成长为内核狂热爱好者?

    Linux阅码场
  • 重学css3(概览)

    浏览器内核又可以分成两部分:渲染引擎(layout engineer或者Rendering Engine)和JS引擎。

    IT人一直在路上
  • Linux内核管理

    (1)Linux系统的组成部分是内核+根文件系统。内核负责进程管理、内存管理、网络协议栈、文件系统、驱动程序和安全功能。 运行中的系统环境可分为两层:内核空间...

    魏晓蕾
  • Linux内核配置编译及启动过程分析

    Linux内核并不能被用户直接使用,发行版才可以。Linux主要的工作是内存管理,进程调度等等,发行版加上了桌面和各种可用的工具,才能被用户使用。

    用户5426759
  • CentOS如何删除Linux不用的旧内核

    CentOS经过升级后,可能有多个内核,开机时可供选择,如果我们想删除旧内核,可以这么做:

    雷大亨
  • centos yum update只升级软件不升级内核

    CentOS升级软件时不升级内核的命令如下 CentOS7.5/7.6 yum update --exclude "kmod-kvdo*,kernel*,cen...

    我爱你的一诺

扫码关注云+社区

领取腾讯云代金券