【chrome基础】Chrome、Chromium、libcef、electron版本关系大揭秘!

news2024/11/16 4:49:05

文章目录

    • 概述
    • chrome、Chromium、cef、electron 版本管理
    • chrome的各种概念和学习资料
        • V8 bindings 设计
        • 谷歌V8引擎探秘:基础概念
        • Chrome 的插件(Plugin)与扩展(Extension)
        • Chrome插件开发

概述

Chrome、Chromium、libcef、electron 这四款浏览器有什么区别?

  • Chrome 是基于 Chromium 开发的稳定版本,主要用于 Windows、macOS、Linux 等操作系统;
  • Chromium 是 Chrome 的开源版本,存在一些 bug 和不稳定因素,但是更新速度更快,还支持更多的功能和扩展程序;
  • libcef 则是 Chrome 和 Chromium 的底层引擎,主要负责渲染网页和执行 JavaScript 代码;
  • electron 则是基于 Chromium 和 node.js 开发的跨平台桌面应用开发框架,可以让开发人员快速构建具有原生界面和功能的桌面应用程序。

📌 Chrome、Chromium、libcef、electron 版本关系图是怎样的?🤔 👉 看这张表就一目了然啦!👇👇👇

名称ChromeChromiumlibcefElectron(原名Atom Shell)
官网https://www.google.com/chromehttps://www.chromium.org/https://bitbucket.org/chromiumembedded/cefhttps://www.electronjs.org
首次发布时间2008年9月2日2008年9月2日2010年12月3日2013年4月11日
特点google出品的浏览器产品google出品的开源浏览器项目封装chromium的开源项目、嵌入式框架封装chromium的开源项目、支持node

🤖总之,想要体验更加稳定和快速的 Chrome 浏览器,不妨试试 Chrome 稳定版;如果想了解更多最新的技术进展和实验性功能,那么 Chromium 可能更适合你。而 cef 和 electron 则是开发人员在进行浏览器和桌面应用开发时需要关注和使用的技术框架。

chrome、Chromium、cef、electron 版本管理

Google Chrome版本历史

  • https://vikyd.github.io/download-chromium-history-version/#/
  • https://google.fandom.com/wiki/Chrome_version_history
  • https://en.wikipedia.org/wiki/Google_Chrome

这里从维基百科搬运一个表格,其中包含chrome在不同平台的一些重要时间节点。
在这里插入图片描述

Chromium 版本历史(与Chrome版本强关联)

  • Chromium 历史版本离线安装包 https://vikyd.github.io/download-chromium-history-version/#/
  • Chromium 历史版本离线安装包 https://github.com/vikyd/note/blob/master/chrome_offline_download.md

cef 版本历史

  • https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding.md
  • Downloads - https://cef-builds.spotifycdn.com/index.html

electron 版本历史(chrome、node、npm版本)
官网直接查看: https://releases.electronjs.org/releases/stable
在这里插入图片描述
下面是几个比较代表的节点:

  • 22:支持Windows 7/8/8.1最后的版本。(所以不要再使用最新版本的electron,免得后期各种坑)
  • 1.0.2:支持Windows xp最后的版本,详见官网地址。(其实就是chrome支持的最后一个版本:Google Chrome 49.0.2623.112,支持 Windows XP 系统的最后一个版本。

版本列表如下所示:

Electron 版本发行时间Chrome 版本Node.js 版本
第一个版本,当时叫Atom Shell2013-4-11--
0.20.02014-12-1239.0.2171.65Node.js 0.13.0-pre
1.0.2(支持Windows xp最后的版本)2016-05-1349.0.2623.75Node.js 5.10.0
1.8.8(最后一个1.x版本)2018-08-2259.0.3071.115Node.js 8.2.1
2.x2018-05-01Chrome 61Node.js 8.9.3
3.x2018-09-18Chrome 66Node.js 10.2.0
4.x2018-12-20Chrome 69Node.js 10.11.0
9.x2020-05-19Chrome 83.0.4103.64Node.js 12.14.1
10.x2020-08-24Chrome 85.0.4183.84Node.js 12.16.3
22.x2022-11-29Chrome 108.0.5359.62Node.js 16.17.1
27.x2023-10-09Chrome 118.0.5993.54Node.js 18.17.1

chrome的各种概念和学习资料

V8 bindings 设计

isolate,context,world,frame之间的关系
参考文章: https://zhuanlan.zhihu.com/p/54135666

  1. isolate (隔离)
  2. Context (上下文)
  3. Entered context and current context( 输入上下文和当前上下文)
  4. World
  5. A relationship between isolates, contexts, worlds and frames
  6. DOM wrappers and worlds
  7. DOM wrappers and contexts
谷歌V8引擎探秘:基础概念

参考文章: https://blog.dingkewz.com/post/tech/google_v8_core_concepts_01/

  • Context
  • Handle
  • Handle Scope
  • Templates
  • Isolates
Chrome 的插件(Plugin)与扩展(Extension)

参考文章:https://www.zhihu.com/question/20628768/answer/15687936
扩展(Extension),指的是通过调用 Chrome 提供的 Chrome API 来扩展浏览器功能的一种组件,工作在浏览器层面,使用 HTML + Javascript 语言开发[*]。比如著名的 Adblock plus。插件(Plug-in),指的是通过调用 Webkit 内核 NPAPI 来扩展内核功能的一种组件,工作在内核层面,理论上可以用任何一种生成本地二进制程序的语言开发,比如 C/C++、Delphi 等。比如Flash player 插件,就属于这种类型。一般在网页中用 <object> 或者 <embed> 标签声明的部分,就要靠插件来渲染。

  • 插件管理页:chrome://plugins/
  • 扩展管理页:chrome://extensions/
Chrome插件开发
  • 从零深入Chrome插件开发: https://xieyufei.com/2021/11/09/Chrome-Plugin.html#content-scripts
  • 7分钟学会写一个浏览器插件——突破某SDN未登录禁止复制的限制 https://segmentfault.com/a/1190000040824814

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1078480.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电荷泵CP原理及在PLL/DLL中的使用

参考【模拟集成电路】电荷泵&#xff08;CP&#xff09;设计_pll 电荷泵-CSDN博客 PLL-CP | Fitzs Blog 1.PLL/DLL中电荷泵概念及原理 电荷泵CP(charge pump)是锁相环中重要的一个模块&#xff0c;其主要功能是将鉴频鉴相器 (PFD) 输出的时钟相位差值转化为电荷&#xff0c;将…

UE5如何实现语言本地化管理(中英文切换)

一。实现蓝图的本地化控制 1.打开本地化控制面版 2.设置收集文本的路径 3.添加自己需要使用的语言&#xff0c;一般是中文 4.收集文本并进行转换语言的翻译 5.进入面板之后开始翻译 6.翻译完成之后计算字数并编译 7。一整套流程下来就是这样了 8.编译完成之后会在文件中生成…

一文汇总 Linux 内核调试的方法

内核开发比用户空间开发更难的一个因素就是内核调试艰难。内核错误往往会导致系统宕机&#xff0c;很难保留出错时的现场。调试内核的关键在于你的对内核的深刻理解。 在调试一个bug之前&#xff0c;我们所要做的准备工作有&#xff1a; 有一个被确认的bug&#xff0c;包含这…

10.10泊松、指数、伽马分布的理解

泊松定理、泊松分布 泊松定理就是描述在T段时间内每时每刻一直进行一个实验&#xff0c;这个实验成功的概率由t段时间总的成功期望次数决定&#xff0c;就是给二项分布加了个时间 泊松分布可用来描述某段时间来电次数的分布&#xff0c;电话台收到的呼叫数&#xff0c;商城的…

2023年【陕西省安全员B证】最新解析及陕西省安全员B证操作证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年陕西省安全员B证最新解析为正在备考陕西省安全员B证操作证的学员准备的理论考试专题&#xff0c;每个月更新的陕西省安全员B证操作证考试祝您顺利通过陕西省安全员B证考试。 1、【多选题】《陕西省建设工程质量…

导入导出Excel

一、Springboot Easyexcel读取写入数据&#xff0c;多头行数&#xff0c;多sheet&#xff0c;复杂表头简单实现 1. 导入依赖&#xff0c;阿里的easyexcel插件 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId>…

uniapp上echarts地图钻取

1: 预期效果 通过切换地图 , 实现地图的钻取效果 2: 实现原理以及核心方法/参数 一开始是想利用更换地图数据的形式进行地图钻取 , 这就意味着我们需要准备全国30多个省份的地图数据 , 由于一开始考虑需要适配小程序端 , 如此多的地图文件增加了程序的体积 , 如果使用接口调…

element el-table表格表头某一列表头字段修改颜色

需求&#xff1a; 1 使用 :header-cell-class-name"addClass" 属性 2 根据显示条件 在redText&#xff0c;whiteText 中设置你想要添加的必填表头index 3.根据条件修改文字样式 完整代码 <el-table ref"tableRef" :cell-style"{ color: #FFF,…

拥抱产业发展机遇 兑现5G商业价值

[阿联酋&#xff0c;迪拜&#xff0c;2023年10月10日] 今天&#xff0c;以“将5G-A带入现实”为主题的2023全球移动宽带论坛在迪拜举行。本次大会上&#xff0c;华为轮值董事长胡厚崑与GSMA总干事Mats Granryd围绕“5G产业进程与发展”连线对话。胡厚崑指出&#xff0c;“技术发…

redis 哨兵 sentinel

sentinel巡查监控后台master主机是否故障&#xff0c;如果故障根据投票数自动将某一个从库转换为新主库&#xff0c;继续对外服务 sentinel 哨兵的功能 监控 监控主从redis库运行是否正常消息通知 哨兵可以将故障转移的结果发送给客户端故障转移 如果master异常&#xff0c;则…

openEuler 系统搭建高可用 Kubernetes 集群

k8s 高可用集群部署 在生产环境中&#xff0c;k8s 高可用集群部署能够确保应用程序稳态运行不出现服务中断情况。 此处我们基于 openEuler 系统环境&#xff0c;配置 Keepalived 和 HAproxy 使负载均衡&#xff08;LB/Load Balancer&#xff09;、实现高可用。 步骤如下&…

NZ系列工具NZ04:VBA网络连接测试

我的教程一共九套及VBA汉英手册一部&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到数据库&#xff0c;到字典&#xff0c;到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑&#xff0c;这么多知识点该如何组织…

UOS通过GPG对文件签名验签

本人用的版本&#xff1a;gpg (GnuPG) 2.2.12 生成密钥 生成公钥/私钥对 gpg --full-generate-key设置密钥的长度 默认回车3072&#xff0c;越长越安全。 设定密钥的有效期限 默认回车“0” 构建用户标识 输入姓名、邮件、注释后&#xff0c;输入“o”确认 在弹出框内…

班级文化建设方案分享 中学高中建设方案

班级文化建设方案 一、基本信息 名称&#xff1a;xxxx计划 时间&#xff1a;XXXX年XX月-XXXX年XX月 地点&#xff1a;[XXXXX] 参与人群&#xff1a;X班全体师生及家长 目的和宗旨&#xff1a;通过班级文化建设&#xff0c;营造积极向上的班级氛围&#xff0c;增强班级凝聚…

分布式数据库HBase(林子雨慕课课程)

文章目录 4. 分布式数据库HBase4.1 HBase简介4.2 HBase数据模型4.3 HBase的实现原理4.4 HBase运行机制4.5 HBase的应用方案4.6 HBase安装和编程实战 4. 分布式数据库HBase 4.1 HBase简介 HBase是BigTable的开源实现 对于网页搜索主要分为两个阶段 1.建立整个网页索引&#xf…

Zabbix 简介与部署

一、zabbix 简介 1、概念&#xff1a; Zabbix 是一个开源的网络监控系统&#xff0c;用于监视和管理计算机系统、网络和应用程序的性能和可用性。它提供了广泛的监控、警报、数据收集和可视化功能&#xff0c;能够有效地监测和管理大规模的IT基础设施。 2、监控对象&#xf…

github创建个人网页登录后404无法显示的问题

1.首先必须要有内容&#xff0c;默认是会找index.html文件&#xff0c;找不到该文件会找readme.md文件&#xff0c;也就是说最简单的方法是&#xff0c;创建了与用户名同名的repository后username.github.io后&#xff0c;添加一个readme.md文件&#xff0c;得在readme里打点字…

智哪儿线下活动来啦 ~这次我想和你聊聊「AI营销」的生意经

大家好&#xff0c;我们又要见面了。 近年来&#xff0c;ChatGPT等不断涌现的新技术深深改变着我们的生活。而在家居行业&#xff0c;「智哪儿」观察到&#xff0c;一方面&#xff0c;行业现有营销方案获客成本太高、效率比较低&#xff0c;家居建材企业数智化转型趋势越来越明…

短视频剪辑:如何批量调整播放倍速,轻松掌控节奏?

在短视频剪辑中&#xff0c;调整播放倍速是一项常见的操作。通过对视频播放速度的掌控&#xff0c;我们可以让视频节奏更加丰富&#xff0c;提升观众的观看体验。本文将介绍如何批量调整短视频的播放倍速&#xff0c;帮助你轻松掌控节奏。 首先&#xff0c;我们需要了解节奏和倍…

智慧城市智慧灯杆IP网络广播可视紧急求助系统

智慧城市智慧灯杆IP网络广播可视紧急求助系统 深圳锐科达智慧城市智慧灯杆IP网络广播紧急求助系统 引言&#xff1a; 智慧路灯隶属于智慧城市&#xff0c;是智慧城市系统下的一个分支&#xff0c;也是其中一个重要组成部分。智慧城市系统平台功能强大&#xff0c;架构复杂&am…