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

文章目录

    • 概述
    • 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.hqwc.cn/news/130521.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

某瑞集团安全技术研发岗位面试

目录 一、自我介绍 二、就ctf比赛经历方面提些问题 三、简单讲一下中孚的实习经验 四、你就职业想从事哪方面的工作 五、漏洞挖掘有什么经验吗 本文由掌控安全学院 - sbhglqy 投稿 一、自我介绍 阿吧阿吧&#xff0c;不多说 二、就ctf比赛经历方面提些问题 面试官&…

Centos7中安装Jenkins教程

1.必须先配置jdk环境&#xff0c;安装jdk参考 Linux配置jdk 2.先卸载Jenkins # rpm卸载 rpm -e jenkins # 检查是否卸载成功 rpm -ql jenkins # 彻底删除残留文件 find / -iname jenkins | xargs -n 1000 rm -rf 3.安装Jenkins 在 /usr/ 目录下创建 jenkins文件夹 mkdir -p je…

复旦管院启动科创战略,培养科技研发人才,引领未来发展!

今年夏天&#xff0c;600多位优秀的企业家成为复旦大学EMBA 2023级新生。在疫情结束后&#xff0c;他们选择百战归来再读书&#xff0c;重新回到久违的课堂&#xff0c;共同探索科创大时代下企业的商业本质&#xff0c;开启新的学习与人生旅程。复旦大学管理学院院长陆雄文教授…

JavaScript中的深拷贝(deep copy)和浅拷贝(shallow copy)

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

ArcGIS Pro地图可视化—双变量关系映射

原址链接ArcGIS Pro地图可视化—双变量关系映射https://mp.weixin.qq.com/s/g-pPBHPXMOEF5NHm06JcrA 这个方法很早很早以前就有了&#xff0c;可能大家早就知道了&#xff0c;可我昨天刚看到这个东西 https://en.wikipedia.org/wiki/Multivariate_map 像是上图&#xff0c;美国…

AlGaN/GaN结构的氧基数字蚀刻

引言 宽带隙GaN基高电子迁移率晶体管(HEMTs)和场效应晶体管(fet)能够提供比传统Si基高功率器件更高的击穿电压和电子迁移率。常关GaN非常需要HEMT来降低功率并简化电路和系统架构&#xff0c;这是GaN HEMT技术的主要挑战之一。凹进的AlGaN/GaN结构是实现常关操作的有用选择之一…

阻塞和非阻塞,同步和异步

一个典型的网络IO接口调用&#xff0c;分为两个阶段&#xff0c;分别是“数据就绪” 和 “数据读写”&#xff0c;数据就绪阶段分为 阻塞和非阻塞&#xff0c;表现得结果就是&#xff0c;阻塞当前线程或是直接返回。 同步表示A向B请求调用一个网络IO接口时&#xff08;或者调用…

如何让 Llama2、通义千问开源大语言模型快速跑在函数计算上?

作者&#xff1a;寒斜 阿里云智能技术专家 「本文是“在 Serverless 平台上构建 AIGC 应用”系列文章的第一篇文章。」 前言 随着 ChatGPT 以及 Stable Diffusion&#xff0c;Midjourney 这些新生代 AIGC 应用的兴起&#xff0c;围绕 AIGC 应用的相关开发变得越来越广泛&…

浏览器详解(四) 渲染

大家好&#xff0c;我是半虹&#xff0c;这篇文章来讲浏览器渲染 1、基本介绍 浏览器是多进程多线程的架构&#xff0c;包括有浏览器进程、渲染器进程、GPU 进程、插件进程等 在上篇文章中我们介绍过浏览器进程&#xff0c;作为浏览器主进程&#xff0c;负责浏览器基本界面的…

【Java 进阶篇】CSS盒子模型详解

CSS盒子模型是网页布局的基础之一&#xff0c;它定义了HTML元素在页面上的占用空间和相互关系。理解CSS盒子模型对于构建各种类型的网页布局至关重要。在本文中&#xff0c;我们将深入探讨CSS盒子模型的各个方面&#xff0c;包括盒子模型的概念、属性和如何使用它们来控制元素的…

2023年山东省安全员C证证考试题库及山东省安全员C证试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年山东省安全员C证证考试题库及山东省安全员C证试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#xff09;特种作业人员操作证考试大纲和&#xff08;质检局&#xff09;特种设备作业人员上岗证考试大…

/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found (required by

在某项目中遇到下面的错误&#xff0c; ./model2trt_v2: /lib64/libstdc.so.6: version GLIBCXX_3.4.21 not found (required by ./model2trt_v2) ./model2trt_v2: /lib64/libstdc.so.6: version GLIBCXX_3.4.21 not found (required by ../../../lib/linux_lib/libcuda_utils…