The Chromium Embedded Framework (CEF) is an open-source software framework for embedding a Chromium web browser within another application. This enables developers to add web browsing functionality to their application, as well as the ability to use HTML, CSS, and JavaScript to create the application's user interface (or just portions of it).
CEF runs on Linux, macOS, and Windows. It has many language bindings including C, C++, Go, Java, and Python.
Overview There are two versions of Chromium Embedded Framework: CEF 1 and CEF 3. Development of CEF 2 was abandoned after the appearance of the Chromium Content API.
CEF 1 is a single-process implementation based on the Chromium WebKit API. It is no longer actively developed or supported.
CEF 3 is a multi-process implementation based on the Chromium Content API and has performance similar to Google Chrome. It uses asynchronous messaging to communicate between the main application process and one or more render processes (Blink + V8 JavaScript engine). As of July 2022, it no longer supports PPAPI plugins due to removal of PPAPI, legacy Chrome Apps, and Native Client (NaCl) support from the upstream Chromium project. PDF viewer support from Chromium's PDFium PDF viewer is still supported. The single-process run mode is not supported, but still present; currently is being used for debugging purposes only.
On March 16, 2019, the CEF version numbering changed with the release of CEF 73.1.3+g46cf800+chromium-73.0.3683.75. The previous release on March 14, 2019, was CEF 3.3683.1920.g9f41a27. Both of these releases were based on Chromium 73.0.3683.75, however the new version numbering has the major number the same as the Chromium major version number it is based on.
CEF comes with a sample application called CefClient that is written in C++ using WinAPI, Cocoa, or GTK (depending on the platform) and contains demos of various features. Newer versions include a sample application called CefSimple that, along with an accompanying tutorial, show how to create a simple application using CEF 3.
Documentation can be found in the header files located in the "include" directory and on wiki pages.
Supported languages The base CEF framework includes support for the C and C++ programming languages, but there are external projects that provide bindings for other languages:
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 (via the 'win32ole' library) (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-bit and 64-bit) (CEF3) – WebKitX CEF3 ActiveX Xojo (for Windows apps, 32-bit and 64-bit) (CEF3) – WebKitX CEF3 ActiveX Qt (any Windows version, only for 32-bit) (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 – WevKitX CEF57 ActiveX)
Applications using CEF Adobe Adobe Acrobat Adobe Illustrator – vector graphics editor Adobe Creative Cloud Adobe Dreamweaver – web development tool which uses CEF to control resource loading, navigation and context menus Adobe Chromium Embedded Adobe Edge Animate – multimedia authoring tools Adobe Edge Reflow – web design tool Adobe Brackets – previously closed-source IDE League of Legends launcher – official launcher for League of Legends LiveCode – multi-platform app development software NVIDIA App - Front-end utility software for NVIDIA Graphic Cards OBS Studio browser plugin - Live streaming software OnlyOffice – office suite Second Life – online virtual world Steam client – official client for Valve's Steam TouchDesigner - creative development platform
See also
Electron Chromium XULRunner DotNetBrowser
References
External links