Chromium嵌入式框架
Chromium嵌入式框架(Chromium Embedded Framework),简称CEF,是一个开源的软件框架,用于在另一个应用软件中嵌入Chromium网页浏览器。这使得开发者能够将网页浏览功能添加到他们的应用程序中,以及使用HTML、CSS和JavaScript创建应用程序的用户界面(或其部分内容)。
![]() | |
开发者 | Marshall Greenblatt |
---|---|
首次发布 | 2009年6月1日 |
当前版本 |
|
源代码库 | |
编程语言 | C++ |
操作系统 | |
类型 | 软体框架, 网页浏览器 |
许可协议 | BSD |
网站 | bitbucket |
CEF可运行在Linux、macOS和Windows上。它拥有多种语言绑定,包括C、C++、Go、Java和Python。
概述
Chromium嵌入式框架(Chromium Embedded Framework,简称CEF)有两个版本:CEF 1和CEF 3。[1] 在Chromium Content API出现后,CEF 2的开发被放弃。[2]
CEF 1是基于Chromium WebKit API的单进程实现。它不再被积极开发或支持。[3]
CEF 3是基于Chromium Content API的多进程实现,其性能类似于Google Chrome。[4] 它使用异步消息在主应用程序进程和一个或多个渲染进程(Blink + V8 JavaScript引擎)之间进行通信。它支持PPAPI插件和扩展,无论是内部的(PDF查看器)还是外部可加载的。单进程运行模式不被支持,但仍然存在;目前仅用于调试目的。[5]
2019年3月16日,CEF的版本编号方式随着CEF 73.1.3+g46cf800+chromium-73.0.3683.75的发布而改变。其上一个发布是在2019年3月14日,版本为CEF 3.3683.1920.g9f41a27。这两个版本都基于Chromium 73.0.3683.75,但新的版本编号使主要数字与其基于的Chromium主要版本号相同。
CEF附带了一个名为CefClient的示例应用程序,该应用程序用C++编写,使用WinAPI、Cocoa或GTK(取决于平台),包含各种功能的演示。[6][7] 新版本包括一个名为CefSimple的示例应用程序,以及一个附带的教程,展示了如何使用CEF 3创建一个简单的应用程序。[8] 相关文件可以在"include"资料夹内的标头档,[9][10]或是在其官方wiki上找到。[11]
支持的语言
基础的CEF框架包括对C和C++编程语言的支持,但也有外部项目为其他语言提供绑定:
- Delphi (CEF1) - DCEF 1[12]
- Delphi (CEF3) - DCEF 3[13]
- Delphi (CEF3) - CEF4Delphi[14]
- Delphi (CEF3) - WebKitX CEF3 ActiveX
- Dyalog APL (CEF3) - HTMLRenderer[15]
- Free Pascal (CEF3) - fpCEF3[16]
- Go (CEF3) - CEF2go[17]
- Java (CEF3) - Java Chromium Embedded[18]
- .NET (CEF1, CEF3) - CefSharp[19]
- .NET (CEF1) - CefGlue[20]
- .NET/Mono (CEF3) - Xilium.CefGlue[21]
- .NET (CEF3) - ChromiumFX[22]
- .NET (CEF3) - WebKitX CEF3 ActiveX
- Python (CEF1, CEF3) - CEF Python[23]
- Swift (CEF3) - CEF.swift[24]
- Visual Basic 6 (CEF3) - WebKitX CEF3 ActiveX[25]
- Visual FoxPro (CEF3) - WebKitX CEF3 ActiveX
- PowerBuilder (CEF3) - WebKitX CEF3 ActiveX
- Ruby (通过'win32ole'库) (CEF3) - WebKitX CEF3 ActiveX
- Visual Basic for Applications 2003/2007/2010/2015/2016 (VBA, Access, Excel) (CEF3) - WebKitX CEF3 ActiveX
- Microsoft Visual Studio .NET 2010/2015/2017 (VB.Net, C#, C++, 32位和64位) (CEF3) - WebKitX CEF3 ActiveX
- Xojo (适用于Windows应用程序,32位和64位) (CEF3) - WebKitX CEF3 ActiveX
- Qt (任何Windows版本,仅适用于32位) (CEF3) - WebKitX CEF3 ActiveX
- CodeTyphon Studio - package pl_CEF
- Embarcadero RAD Studio (VCL C++) (CEF3) - WebKitX CEF3 ActiveX
- Broadcom CA PLEX (VBScript / C++) (CEF3) - WebKitX CEF3 ActiveX
- YallFramework (YS /WS ) (FF213 - WebKitX CEF57 ActiveX)
使用CEF的应用程序
- 4D – 关系数据库管理系统和集成开发环境(IDE)
- Adobe[26]
- Adobe Acrobat
- Adobe Illustrator – 矢量图形编辑器
- Adobe Creative Cloud
- Adobe Dreamweaver – 使用CEF控制资源加载、导航和上下文菜单的Web开发工具[27] Adobe Chromium Embedded
- Adobe Edge Animate – 多媒体创作工具
- Adobe Edge Reflow – 网页设计工具
- Adobe Brackets – 以前是封闭源的IDE,现为用于Web的开源代码编辑器
- AIM – 在Windows上使用CEF的即时消息客户端
- alt:V - 用于PC游戏《侠盗猎车手V》的多人游戏引擎
- Amazon Music Player – Amazon Music的官方媒体播放器
- AOL Desktop – 集成了AOL电子邮件和即时消息客户端的Web浏览器
- Autodesk Inventor – 3D设计工具。自2015年版本以来,它使用CEF来实现“我的主页”功能,允许用户创建新的CAD文件并查看教程。
- Battle.net App – Battle.net的官方客户端
- BeamNG.drive – 使用CEF渲染用户界面
- Bitdefender Safepay Browser – Bitdefender软件的一部分[28]
- Desura客户端 – Desura的官方客户端
- Dish World IPTV – 流媒体视频平台
- Dyalog APL – 使用CEF进行其用户命令
]HTML
、]Plot
和]APLCart
- Epic Games Launcher – Epic游戏商城的官方客户端
- Eve Online启动器 – 星战前夜的官方启动器[29]
- ExpanDrive – 网络文件系统客户端
- Foxmail – Tencent的免费电子邮件客户端
- GOG Galaxy – GOG.com的官方客户端
- Google Web Designer – 创建交互式HTML5网站和广告
- Grand Theft Auto Online – 用于PC游戏《侠盗猎车手V》的多人游戏引擎
- Intel AppUp Encapsulator – 英特尔应用商店软件
- KKBOX – 流媒体音乐平台
- League of Legends启动器 – 《英雄联盟》的官方启动器[30]
- LiveCode – 多平台应用程序开发软件[31]
- Mailbird – Windows电子邮件软件
- MATLAB – 使用CEF进行
uifigures
- MediaMan – 组织软件
- Microsoft Power BI – 商业智能软件[32]
- Minecraft启动器 – 《我的世界》官方启动器
- Multi Theft Auto – 用于PC游戏《侠盗猎车手:圣安地列斯》的多人游戏引擎
- OBS Studio 浏览器插件 - 实时流媒体软件[33]
- PHP Desktop – 提供一种使用诸如PHP、HTML5、JavaScript和SQLite等Web技术开发原生桌面GUI应用程序的方法。
- PokerStars – 在线扑克棋牌室
- PTC Creo - Creo Parametric Chromium嵌入式浏览器
- QuarkXPress – JavaScript支持
- RAGE Multiplayer - 用于PC游戏《侠盗猎车手V》的多人游戏引擎
- Rockstar Games Launcher – Rockstar Games Social Club的官方客户端
- 第二人生 – 在线虚拟世界[34]
- Sling TV – 由Dish Network运营的IPTV服务。[35]
- Spotify桌面客户端 – 流媒体音乐平台[36]
- StarUML – UML模型编辑器
- Steam客户端 – Valve的官方客户端[37]
- 绝地要塞2 - 由Valve开发的视频游戏,使用Source引擎
- 腾讯QQ – 即时消息程序(其QPlus部分)和Web浏览器
- The Bat! – 由RitLabs为Microsoft Windows开发的电子邮件客户端
- TouchDesigner - 创意开发平台[38]
- TOWeb – 响应式网站创建软件
- Trend Micro Internet Security – 杀毒软件
- Ubisoft Connect客户端 – Ubisoft Connect的官方客户端
- UBot Studio – 互联网营销和Web自动化软件
- Uniface – Uniface运行时和开发环境
- Unity – 游戏引擎
- Unreal Engine – 游戏引擎
- Xojo – 在Windows上使用CEF的HTMLViewer控件
另请参阅
参考资料
- ^ 版本 - CEF架构概览. [2023-11-23]. (原始内容存档于2020-02-11).
- ^ Content API - Chromium项目.
- ^ CEF1退役计划.
- ^ CEF 3 架构 - CEF wiki页面. [2023-11-23]. (原始内容存档于2020-02-11).
- ^ 单进程 - 进程模型- Chromium项目. [2023-11-23]. (原始内容存档于2018-12-08).
- ^ CEF Git: 1364/cef1/tests/cefclient/.
- ^ CEF Git: master/tests/cefclient/.
- ^ CefSimple教程.
- ^ CEF Git: /1364/cef1/include/.
- ^ CEF Git: /master/include/.
- ^ CEF Wiki Pages.
- ^ delphichromiumembedded – Delphi Chromium Embedded – Google项目托管. [2012-12-26]. (原始内容存档于2012-12-25).
- ^ dcef3 – Delphi Chromium Embedded 3 – Google项目托管. [2012-12-26]. (原始内容存档于2012-12-25).
- ^ GitHub - salvadordf/CEF4Delphi: CEF4Delphi是一个开源项目,用于在Delphi制作的应用程序中嵌入基于Chromium的浏览器。. github.com. [2017年2月25日] (英语).
- ^ HTMLRenderer 用户指南 (PDF). dyalog.com. [2019年8月1日] (英语).
- ^ Free Pascal的Chromium Embedded Framework. GitHub. [2017-01-31].
- ^ Go语言的基于HTML 5的GUI工具包. GitHub. [2014-02-06].
- ^ javachromiumembedded – Chromium Embedded Framework (CEF)的Java包装器.
- ^ chillitom/CefSharp · GitHub. Github.com. [2012-12-26].
- ^ fddima / CefGlue / wiki / 首页 — Bitbucket. Bitbucket.org. 2012-08-21 [2012-12-26].
- ^ xilium / Xilium.CefGlue / wiki / 首页 — Bitbucket. Bitbucket.org. 2012-10-10 [2012-12-26].[永久失效链接]
- ^ ChromiumFX - .NET的Chromium Embedded Framework (CEF)绑定. [2015-03-21]. (原始内容存档于2019-02-20).
- ^ cefpython – Python绑定Chrome / Chromium Embedded Framework (CEF) – Google项目托管. [2012-12-26]. (原始内容存档于2012-12-25).
- ^ CEF.swift – Swift绑定Chromium Embedded Framework (CEF). GitHub. 6 December 2021.
- ^ WebKitX CEF3 ActiveX – Visual Studio 2015 C++11 MFC/ATL ActiveX for VB6.
- ^ Adobe使用Google Chromium嵌入式框架进行Edge工具 | Tim Anderson's IT Writing. 2012年9月27日 [2022年12月2日] (美国英语).
- ^ Dreamweaver中的CEF集成. [2023-11-23]. (原始内容存档于2014-06-27).
- ^ Bitdefender Total Security.
- ^ Eve Launcher – Evelopedia. [2013年3月4日]. (原始内容存档于2015年5月28日).
- ^ League客户端更新的架构. Riot Games Engineering. [2017年3月21日]. (原始内容存档于2018年7月11日).
- ^ 如何向您的应用程序添加Web浏览器. LiveCode. [2015年11月10日].
- ^ Microsoft PowerBI. Microsoft. [2019年2月22日]. (原始内容存档于2019年5月27日).
- ^ obs-browser, OBS Project, 2021-10-21 [2021-10-22]
- ^ Second Life 4.0.0.305703 Release Notes. 2015年10月25日 [2016年4月7日].
- ^ Sling TV – 随时随地观看直播电视节目. [2015年8月27日].
- ^ Spotify的开源项目. [2016年3月2日]. (原始内容存档于2016年3月7日).
- ^ Chromium Embedded Framework. developer.valvesoftware.com. Last edited on 2023年6月15日. [2023年7月27日].[失效链接]
- ^ Derivative WebRender TOP Documentation. [2022年12月2日]. (原始内容存档于2023年12月9日).