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