码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【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 插件,就属于这种类型。一般在网页中用 或者 标签声明的部分,就要靠插件来渲染。

    • 插件管理页:chrome://plugins/
    • 扩展管理页:chrome://extensions/
    Chrome插件开发
    • 从零深入Chrome插件开发: https://xieyufei.com/2021/11/09/Chrome-Plugin.html#content-scripts
    • 7分钟学会写一个浏览器插件——突破某SDN未登录禁止复制的限制 https://segmentfault.com/a/1190000040824814
  • 相关阅读:
    周赛补题(力扣、acwing)
    【深度学习笔记】6_5 RNN的pytorch实现
    IO模型之完全懵逼到似懂非懂
    02.CRUD和文件上传下载
    2-Python程序执行机制
    纯数、应用数学论文EE优秀选题推荐
    前缀,后缀转中缀以及中缀转前缀,后缀
    PWM控制蜂鸣器
    Gartner研究:在中国,混合云的采用已成为主流趋势
    我要写整个中文互联网界最牛逼的JVM系列教程 | 「JVM与Java体系架构」章节:为什么要学习JVM?
  • 原文地址:https://blog.csdn.net/kinghzking/article/details/125896594
    • 最新文章
    • 攻防演习之三天拿下官网站群
      数据安全治理学习——前期安全规划和安全管理体系建设
      企业安全 | 企业内一次钓鱼演练准备过程
      内网渗透测试 | Kerberos协议及其部分攻击手法
      0day的产生 | 不懂代码的"代码审计"
      安装scrcpy-client模块av模块异常,环境问题解决方案
      leetcode hot100【LeetCode 279. 完全平方数】java实现
      OpenWrt下安装Mosquitto
      AnatoMask论文汇总
      【AI日记】24.11.01 LangChain、openai api和github copilot
    • 热门文章
    • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
      奉劝各位学弟学妹们,该打造你的技术影响力了!
      五年了,我在 CSDN 的两个一百万。
      Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
      面试官都震惊,你这网络基础可以啊!
      你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
      心情不好的时候,用 Python 画棵樱花树送给自己吧
      通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
      13 万字 C 语言从入门到精通保姆级教程2021 年版
      10行代码集2000张美女图,Python爬虫120例,再上征途
    Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
    正则表达式工具 cron表达式工具 密码生成工具

    京公网安备 11010502049817号