Chromium嵌入式框架

Chromium嵌入式框架（Chromium Embedded Framework），简称CEF，是一个开源的软件框架，用于在另一个应用软件中嵌入Chromium网页浏览器。这使得开发者能够将网页浏览功能添加到他们的应用程序中，以及使用HTML、CSS和JavaScript创建应用程序的用户界面（或其部分内容）。

CEF可运行在Linux、macOS和Windows上。它拥有多种语言绑定，包括C、C++、Go、Java和Python。

## 概述

CEF有两个版本：CEF 1和CEF 3。在Chromium Content API出现后，CEF 2的开发被放弃。

CEF 1是基于Chromium WebKit API的单进程实现。它不再被积极开发或支持。

CEF 3是基于Chromium Content API的多进程实现，其性能类似于Google Chrome。它使用异步消息在主应用程序进程和一个或多个渲染进程（Blink + V8 JavaScript引擎）之间进行通信。它支持PPAPI插件和扩展，无论是内部的（PDF查看器）还是外部可加载的。单进程运行模式不被支持，但仍然存在；目前仅用于调试目的。

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（取决于平台），包含各种功能的演示。新版本包括一个名为CefSimple的示例应用程序，以及一个附带的教程，展示了如何使用CEF 3创建一个简单的应用程序。

相关文件可以在"include"资料夹内的标头档，或是在其官方wiki上找到。

## 支持的语言

基础的CEF框架包括对C和C++编程语言的支持，但也有外部项目为其他语言提供绑定：

- Delphi (CEF1) - DCEF 1
- Delphi (CEF3) - DCEF 3
- Delphi (CEF3) - CEF4Delphi
- Delphi (CEF3) - WebKitX CEF3 ActiveX
- Dyalog APL (CEF3) - HTMLRenderer
- Free Pascal (CEF3) - fpCEF3
- Go (CEF3) - CEF2go
- Java (CEF3) - Java Chromium Embedded
- .NET (CEF1, CEF3) - CefSharp
- .NET (CEF1) - CefGlue
- .NET/Mono (CEF3) - Xilium.CefGlue
- .NET (CEF3) - ChromiumFX
- .NET (CEF3) - WebKitX CEF3 ActiveX
- Python (CEF1, CEF3) - CEF Python
- Swift (CEF3) - CEF.swift
- Visual Basic 6 (CEF3) - WebKitX CEF3 ActiveX
- 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的应用程序

- 4th Dimension (software) – 关系数据库管理系统和集成开发环境（IDE）
- Adobe
- Adobe Acrobat
- Adobe Illustrator – 矢量图形编辑器
- Adobe Creative Cloud
- Adobe Dreamweaver – 使用CEF控制资源加载、导航和上下文菜单的Web开发工具 Adobe Chromium Embedded
- Adobe Edge Animate – 多媒体创作工具
- Adobe Edge#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软件的一部分
- Desura客户端 – Desura的官方客户端
- Dish World IPTV – 流媒体视频平台
- Dyalog APL – 使用CEF进行其用户命令 `]HTML`、`]Plot` 和 `]APLCart`
- Epic Games Launcher – Epic游戏商城的官方客户端
- Eve Online启动器 – 星战前夜的官方启动器
- ExpanDrive – 网络文件系统客户端
- Foxmail – Tencent的免费电子邮件客户端
- GOG Galaxy – GOG.com的官方客户端
- Google Web Designer – 创建交互式HTML5网站和广告
- Grand Theft Auto Online – 用于PC游戏《侠盗猎车手V》的多人游戏引擎
- Intel AppUp – 英特尔应用商店软件
- KKBOX – 流媒体音乐平台
- League of Legends启动器 – 《英雄联盟》的官方启动器
- LiveCode – 多平台应用程序开发软件
- Mailbird – Windows电子邮件软件
- MATLAB – 使用CEF进行 `uifigures`
- MediaMan – 组织软件
- Microsoft Power BI – 商业智能软件
- Minecraft启动器 – 《我的世界》官方启动器
- Multi Theft Auto – 用于PC游戏《侠盗猎车手：圣安地列斯》的多人游戏引擎
- OBS Studio 浏览器插件 - 实时流媒体软件
- 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的官方客户端
- 第二人生 – 在线虚拟世界
- Sling TV – 由Dish Network运营的IPTV服务。
- Spotify桌面客户端 – 流媒体音乐平台
- StarUML – UML模型编辑器
- Steam客户端 – Valve的官方客户端
- 绝地要塞2 - 由Valve开发的视频游戏，使用Source引擎
- 腾讯QQ – 即时消息程序（其QPlus部分）和Web浏览器
- The Bat! – 由RitLabs为Microsoft Windows开发的电子邮件客户端
- TouchDesigner - 创意开发平台
- TOWeb – 响应式网站创建软件
- Trend Micro Internet Security – 杀毒软件
- Ubisoft Connect客户端 – Ubisoft Connect的官方客户端
- UBot Studio – 互联网营销和Web自动化软件
- Uniface (programming language) – Uniface运行时和开发环境
- Unity – 游戏引擎
- Unreal Engine – 游戏引擎
- Xojo – 在Windows上使用CEF的HTMLViewer控件

## 另请参阅

- Electron
- Qt WebEngine
- XULRunner
- DotNetBrowser

## 基本资料

- 日语原文：Chromium Embedded Framework
- 开发者：Marshall Greenblatt
- 发行日期：2009年6月1日
- 编程语言：C++
- 操作系统：Windows、Linux、macOS
- 类型：软件框架, 网页浏览器
- 许可证：BSD